Lighttpd 輕量級網站伺服器
眾所皆知 Nginx號稱是不會超載而導致當機的輕量級伺服器,在這之前早已有 Lighttpd 的存在。雖然目前 Apache 仍是市佔率最多的伺服端,但 Nginx 急起直追中。有開這3套主流伺服端的效能比較如下:
圖片來源
測試報告
而如果你只是想要單純的架設網站,最輕量的 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
一步步做,這就完成了。
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