Lighttpd 是一款開源 Web 服務(wù)器軟件。Lighttpd 安全快速,符合行業(yè)標(biāo)準(zhǔn),適配性強(qiáng)并且針對(duì)高配置環(huán)境進(jìn)行了優(yōu)化。相對(duì)于其它的 Web 服務(wù)器而言,Lighttpd 占用內(nèi)存更少;因其對(duì) CPU 占用小和對(duì)處理速度的優(yōu)化而在效率和速度方面從眾多 Web 服務(wù)器中脫穎而出。而 Lighttpd 諸如 FastCGI、CGI、認(rèn)證、輸出壓縮、URL 重寫等高級(jí)功能更是那些面臨性能壓力的服務(wù)器的福音。
以下便是我們在運(yùn)行 Ubuntu 15.04 或 CentOS 7 Linux 發(fā)行版的機(jī)器上安裝 Lighttpd Web 服務(wù)器的簡要流程。
安裝Lighttpd
使用包管理器安裝
這里我們通過使用包管理器這種最簡單的方法來安裝 Lighttpd。只需以 sudo 模式在終端或控制臺(tái)中輸入下面的指令即可。
CentOS 7
由于 CentOS 7.0 官方倉庫中并沒有提供 Lighttpd,所以我們需要在系統(tǒng)中安裝額外的軟件源 epel 倉庫。使用下面的 yum 指令來安裝 epel。
1
|
# yum install epel-release |
然后,我們需要更新系統(tǒng)及為 Lighttpd 的安裝做前置準(zhǔn)備。
1
2
|
# yum update # yum install lighttpd |
Install Lighttpd Centos
Ubuntu 15.04
Ubuntu 15.04 官方倉庫中包含了 Lighttpd,所以只需更新本地倉庫索引并使用 apt-get 指令即可安裝 Lighttpd。
1
2
|
# apt-get update # apt-get install lighttpd |
Install lighttpd ubuntu
從源代碼安裝 Lighttpd
如果想從 Lighttpd 源碼安裝最新版本(例如 1.4.39),我們需要在本地編譯源碼并進(jìn)行安裝。首先我們要安裝編譯源碼所需的依賴包。
1
2
|
# cd /tmp/ # wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.39.tar.gz |
下載完成后,執(zhí)行下面的指令解壓縮。
1
|
# tar -zxvf lighttpd-1.4.39.tar.gz |
然后使用下面的指令進(jìn)行編譯。
1
2
3
|
# cd lighttpd-1.4.39 # ./configure # make |
注:在這份教程中,我們安裝的是默認(rèn)配置的 Lighttpd。其他拓展功能,如對(duì) SSL 的支持,modrewrite,modredirect 等,需自行配置。
當(dāng)編譯完成后,我們就可以把它安裝到系統(tǒng)中了。
1
|
# make install |
設(shè)置 Lighttpd
如果有更高的需求,我們可以通過修改默認(rèn)設(shè)置文件,如/etc/lighttpd/lighttpd.conf
,來對(duì) Lighttpd 進(jìn)行進(jìn)一步設(shè)置。 而在這份教程中我們將使用默認(rèn)設(shè)置,不對(duì)設(shè)置文件進(jìn)行修改。如果你曾做過修改并想檢查設(shè)置文件是否出錯(cuò),可以執(zhí)行下面的指令。
1
|
# lighttpd -t -f /etc/lighttpd/lighttpd.conf |
使用 CentOS 7
在 CentOS 7 中,我們需創(chuàng)建一個(gè)在 Lighttpd 默認(rèn)配置文件中設(shè)置的 webroot 文件夾,例如/src/www/htdocs
。
1
|
# mkdir -p /srv/www/htdocs/ |
而后將默認(rèn)歡迎頁面從/var/www/lighttpd
復(fù)制至剛剛新建的目錄中:
1
|
# cp -r /var/www/lighttpd/* /srv/www/htdocs/ |
開啟服務(wù)
現(xiàn)在,通過執(zhí)行 systemctl 指令來重啟 Web 服務(wù)。
1
|
# systemctl start lighttpd |
然后我們將它設(shè)置為伴隨系統(tǒng)啟動(dòng)自動(dòng)運(yùn)行。
1
|
# systemctl enable lighttpd |
設(shè)置防火墻
如要讓我們運(yùn)行在 Lighttpd 上的網(wǎng)頁或網(wǎng)站能在 Internet 或同一個(gè)網(wǎng)絡(luò)內(nèi)被訪問,我們需要在防火墻程序中設(shè)置打開 80 端口。由于 CentOS 7 和 Ubuntu15.04 都附帶 Systemd 作為默認(rèn)初始化系統(tǒng),所以我們默認(rèn)用的都是 firewalld。如果要打開 80 端口或 http 服務(wù),我們只需執(zhí)行下面的命令:
1
2
3
4
|
# firewall-cmd --permanent --add-service=http success # firewall-cmd --reload success |
連接至 Web 服務(wù)器
在將 80 端口設(shè)置為默認(rèn)端口后,我們就可以直接訪問 Lighttpd 的默認(rèn)歡迎頁了。我們需要根據(jù)運(yùn)行 Lighttpd 的設(shè)備來設(shè)置瀏覽器的 IP 地址和域名。在本教程中,我們令瀏覽器訪問 http://lighttpd.linoxide.com/ ,同時(shí)將該子域名指向上述 IP 地址。如此一來,我們就可以在瀏覽器中看到如下的歡迎頁面了。
Lighttpd Welcome Page
此外,我們可以將網(wǎng)站的文件添加到 webroot 目錄下,并刪除 Lighttpd 的默認(rèn)索引文件,使我們的靜態(tài)網(wǎng)站可以在互聯(lián)網(wǎng)上訪問。
如果想在 Lighttpd Web 服務(wù)器中運(yùn)行 PHP 應(yīng)用,請(qǐng)參考下面的步驟:
安裝 PHP5 模塊
在 Lighttpd 成功安裝后,我們需要安裝 PHP 及相關(guān)模塊,以在 Lighttpd 中運(yùn)行 PHP5 腳本。
使用 Ubuntu 15.04
1
|
# apt-get install php5 php5-cgi php5-fpm php5-mysql php5-curl php5-gd php5-intl php5-imagick php5-mcrypt php5-memcache php-pear |
使用 CentOS 7
1
|
# yum install php php-cgi php-fpm php-mysql php-curl php-gd php-intl php-pecl-imagick php-mcrypt php-memcache php-pear lighttpd-fastcgi |
設(shè)置 Lighttpd 的 PHP 服務(wù)
如要讓 PHP 與 Lighttpd 協(xié)同工作,我們只要根據(jù)所使用的發(fā)行版執(zhí)行如下對(duì)應(yīng)的指令即可。
使用 CentOS 7
首先要做的便是使用文件編輯器編輯 php 設(shè)置文件(例如/etc/php.ini)并取消掉對(duì)cgi.fix_pathinfo=1這一行的注釋。
1
|
# nano /etc/php.ini |
完成上面的步驟之后,我們需要把 PHP-FPM 進(jìn)程的所有權(quán)從 Apache 轉(zhuǎn)移至 Lighttpd。要完成這些,首先用文件編輯器打開/etc/php-fpm.d/www.conf文件。
1
|
# nano /etc/php-fpm.d/www.conf |
然后在文件中增加下面的語句:
1
2
|
user = lighttpd group = lighttpd |
做完這些,我們保存并退出文本編輯器。然后從/etc/lighttpd/modules.conf設(shè)置文件中添加 FastCGI 模塊。
1
|
# nano /etc/lighttpd/modules.conf |
然后,去掉下面語句前面的#來取消對(duì)它的注釋。
include "conf.d/fastcgi.conf"
最后我們還需在文本編輯器設(shè)置 FastCGI 的設(shè)置文件。
1
|
# nano /etc/lighttpd/conf.d/fastcgi.conf |
在文件尾部添加以下代碼:
1
2
3
4
5
6
7
|
fastcgi.server += ( ".php" => (( "host" => "127.0.0.1" , "port" => "9000" , "broken-scriptfilename" => "enable" )) ) |
在編輯完成后保存并退出文本編輯器即可。
使用 Ubuntu 15.04
如需啟用 Lighttpd 的 FastCGI,只需執(zhí)行下列代碼:
1
2
3
4
5
6
7
8
9
|
# lighttpd-enable-mod fastcgi Enabling fastcgi: ok Run /etc/init .d /lighttpd force-reload to enable changes # lighttpd-enable-mod fastcgi-php Enabling fastcgi-php: ok Run ` /etc/init .d /lighttpd ` force-reload to enable changes |
然后,執(zhí)行下列命令來重啟 Lighttpd。
1
|
# systemctl force-reload lighttpd |
檢測 PHP 工作狀態(tài)
如需檢測 PHP 是否按預(yù)期工作,我們需在 Lighttpd 的 webroot 目錄下新建一個(gè) php 文件。本教程中,在 Ubuntu 下 /var/www/html 目錄,CentOS 下 /src/www/htdocs 目錄下使用文本編輯器創(chuàng)建并打開 info.php。
使用 CentOS 7
1
|
# nano /var/www/info.php |
使用 Ubuntu 15.04
1
|
# nano /srv/www/htdocs/info.php |
然后只需將下面的語句添加到文件里即可。
1
|
<?php phpinfo(); ?> |
在編輯完成后保存并推出文本編輯器即可。
現(xiàn)在,我們需根據(jù)路徑 http://lighttpd.linoxide.com/info.php 下的 info.php 文件的 IP 地址或域名,來讓我們的網(wǎng)頁瀏覽器指向系統(tǒng)上運(yùn)行的 Lighttpd。如果一切都按照以上說明進(jìn)行,我們將看到如下圖所示的 PHP 頁面信息。
總結(jié)
至此,我們已經(jīng)在 CentOS 7 和 Ubuntu 15.04 Linux 發(fā)行版上成功安裝了輕巧快捷并且安全的 Lighttpd Web 服務(wù)器?,F(xiàn)在,我們已經(jīng)可以上傳網(wǎng)站文件到網(wǎng)站根目錄、配置虛擬主機(jī)、啟用 SSL、連接數(shù)據(jù)庫,在我們的 Lighttpd Web 服務(wù)器上運(yùn)行 Web 應(yīng)用等功能了。 如果你有任何疑問,建議或反饋請(qǐng)?jiān)谙旅娴脑u(píng)論區(qū)中寫下來以讓我們更好的改良 Lighttpd。謝謝!
via: http://linoxide.com/linux-how-to/setup-lighttpd-web-server-ubuntu-15-04-centos-7/
作者:Arun Pyasi 譯者:HaohongWANG 校對(duì):wxy