2017年2月7日 星期二

Linux RHEL 6 安裝 Lighttpd

Lighttpd 輕量級網站伺服器

眾所皆知 Nginx號稱是不會超載而導致當機的輕量級伺服器,在這之前早已有 Lighttpd 的存在。雖然目前 Apache 仍是市佔率最多的伺服端,但 Nginx 急起直追中。有開這3套主流伺服端的效能比較如下:
enter image description here

enter image description here

圖片來源
測試報告

而如果你只是想要單純的架設網站,最輕量的 Lighttpd 是可以考慮的第一選擇,近日要在 MariaDB Server 安裝 phpMyAdmin 介面,所以就用 Lighttpd 搭配 PHP FastCGI 來執行就好,一來簡單,二來保留更多資源給資料庫使用。

環境參數:

  • OS:Linux RHEL , 6.x86_64.

Linux Repo設置

為能順利以yum安裝,要先將前置工作準備好。

EPEL及RPM安裝

在CentOS 6下先確認有沒有安裝EPEL,尚未安裝就先執行:

$ sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

安裝EPEL成天後,再執行下列指令:

REMI Repo

$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Lighttpd Repo

$ sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

啟動程式庫(Repo,repository)

$ sudo vi /etc/yum.repos.d/remi.repo

[remi-php56]
    name=Les RPM de remi de PHP 5.6 pour Enterprise Linux 6 - $basearch
    #baseurl=http://rpms.famillecollet.com/enterprise/6/php56/$basearch/
    mirrorlist=http://rpms.famillecollet.com/enterprise/6/php56/mirror
    # WARNING: If you enable this repository, you must also enable "remi"
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

enabled=1確認要設定值為1

安裝 Lighttpd

yum安裝 Lighttpd及Fast-CGI模組

安裝 Lighttpd Server

$ sudo yum install lighttpd lighttpd-fastcgi

設定 Lighttpd Server

    var.server_root = /var/www/lighttpd #網站根目錄路徑
    server.port = 8081 #預設綁定的Port(80),此例改為8081
    server.use-ipv6 = "disable" #取消ipv6
    server.bind = "192.168.8.8" #綁定的IP Address

啟動 Lighttpd Server

$ sudo service lighttpd start

設定開機自動啟用 Lighttpd Server

$ sudo chkconfig lighttpd on

安裝PHP 5.6

安裝 PHP

$ sudo yum install php-fpm lighttpd-fastcgi

升級 PHP 5.6

$ sudo yum update php*

mbstring模組

$ sudo yum install php-mbstring

修改www.conf

    # vi /etc/php-fpm.d/www.conf
    ; Unix user/group of processes
    ; Note: The user is mandatory. If the group is not set, the default user's group
    ;       will be used.
    ; RPM: apache Choosed to be able to access some dir as 
    httpd user =<lighttpd
    ; RPM: Keep a group allowed to write in log dir.

啟動 php-fpm

$ sudo service php-fpm start

檢查是否正常運行中?

$ sudo service php-fpm status

設定開機啟動php-fpm

$ sudo chkconfig php-fpm on

$ sudo chkconfig --levels 235 php-fpm on

修改 php.ini 搭載lighttpd能運行php

$ sudo vi /etc/php.ini

修改 Lighttpd modules.conf

$ sudo vi /etc/lighttpd/modules.conf
    include "conf.d/fastcgi.conf"

修改 Lighttpd fastcgi.conf

$ sudo vi  /etc/lighttpd/conf.d/fastcgi.conf```
fastcgi.server += ( ".php" =>
    ((
            "host" => "127.0.0.1",
            "port" => "9000",
            "broken-scriptfilename" => "enable"
    ))
    )

安裝MySQL PHP模組:

$sudo yum install php-mysql

重新啟用 Lighttpd 和PHP-FPM

$sudo service php-fpm restart
$sudo service lighttpd restart
$ sudo vi /var/www/lighttpd/index.php

測試PHP網頁

$ sudo vi /var/www/lighttpd/index.php
    <?php
        phpinfo();
    ?>

開啟 http://192.168.8.8/index.php

lighttpd-phpinfo

lighttpd-mysql
一步步做,這就完成了。

Selinux設置

先確認系統的安全機制Selinux的啟用情況,以免發生權限錯誤的情況.。可以先在本次安裝過程中可先暫時關閉或更改設定。

查詢Selinux狀態

先利用查詢指令,確定系統的安全機制運行狀態。

$ sudo getenforece #查看目前啟用情況
    Enforcing #代表目前是啟用狀態
$ sudo setenforce 0 #暫時關閉
$ sudo getenforece #查看目前啟用情況
    Permissive #已經關閉了
$ sudo setenforce 1  #暫時開啟
$ sudo getenforce` #查看目前啟用情況
    Enforcing #已經開啟了

永久性的關掉 selinux

想一勞永逸的取消selinux的作用時,可直接編輯selinux的設定檔(不建議取消安全防護機制):

$sudo vi /etc/sysconfig/selinux
SELINUX=disabled

重新開機後才會生效

直接變更 selinux 的規則

要輕鬆管理selinux機制,那必需安裝semanage工具,即可在命令列中達到管理目的。

安裝semanage管理套件

$ sudo yum install policycoreutils-python

加上其它的port通行原則:

本例將預設port由80改為8081,所以要加入這條規則,否則你怎麼也無法連上網頁(Selinux啟用的情況下)

$sudo semanage port -a -t http\_port\_t -p tcp 8081


參考來源:
1. https://visibilityspots.org/selinux.html
2. http://tecadmin.net/install-lighttpd-web-server-centos-rhel/#


活本來沒有什麼好與壞,只要你願意怎樣填滿它,它就隨同而行。


EmoticonEmoticon