lighttpd 是一款開源 web 伺服器軟體。lighttpd 安全快速,符合行業标準,适配性強并且針對高配置環境進行了優化。相對于其它的 web 伺服器而言,lighttpd 占用記憶體更少;因其對 cpu 占用小和對處理速度的優化而在效率和速度方面從衆多 web 伺服器中脫穎而出。而 lighttpd 諸如 fastcgi、cgi、認證、輸出壓縮、url 重寫等進階功能更是那些面臨性能壓力的伺服器的福音。
以下便是我們在運作 ubuntu 15.04 或 centos 7 linux 發行版的機器上安裝 lighttpd web 伺服器的簡要流程。
<a></a>
這裡我們通過使用包管理器這種最簡單的方法來安裝 lighttpd。隻需以 sudo 模式在終端或控制台中輸入下面的指令即可。
centos 7
由于 centos 7.0 官方倉庫中并沒有提供 lighttpd,是以我們需要在系統中安裝額外的軟體源 epel 倉庫。使用下面的 yum 指令來安裝 epel。
<code># yum install epel-release</code>
然後,我們需要更新系統及為 lighttpd 的安裝做前置準備。
<code># yum update</code>
<code># yum install lighttpd</code>
ubuntu 15.04
ubuntu 15.04 官方倉庫中包含了 lighttpd,是以隻需更新本地倉庫索引并使用 apt-get 指令即可安裝 lighttpd。
<code># apt-get update</code>
<code># apt-get install lighttpd</code>
如果想從 lighttpd 源碼安裝最新版本(例如 1.4.39),我們需要在本地編譯源碼并進行安裝。首先我們要安裝編譯源碼所需的依賴包。
<code># cd /tmp/</code>
<code># wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.39.tar.gz</code>
下載下傳完成後,執行下面的指令解壓縮。
<code># tar -zxvf lighttpd-1.4.39.tar.gz</code>
然後使用下面的指令進行編譯。
<code># cd lighttpd-1.4.39</code>
<code># ./configure</code>
<code># make</code>
注:在這份教程中,我們安裝的是預設配置的 lighttpd。其他拓展功能,如對 ssl 的支援,modrewrite,modredirect 等,需自行配置。
當編譯完成後,我們就可以把它安裝到系統中了。
<code># make install</code>
如果有更高的需求,我們可以通過修改預設設定檔案,如<code>/etc/lighttpd/lighttpd.conf</code>,來對 lighttpd 進行進一步設定。 而在這份教程中我們将使用預設設定,不對設定檔案進行修改。如果你曾做過修改并想檢查設定檔案是否出錯,可以執行下面的指令。
<code># lighttpd -t -f /etc/lighttpd/lighttpd.conf</code>
在 centos 7 中,我們需建立一個在 lighttpd 預設配置檔案中設定的 webroot 檔案夾,例如<code>/src/www/htdocs</code>。
<code># mkdir -p /srv/www/htdocs/</code>
而後将預設歡迎頁面從<code>/var/www/lighttpd</code>複制至剛剛建立的目錄中:
<code># cp -r /var/www/lighttpd/* /srv/www/htdocs/</code>
現在,通過執行 systemctl 指令來重新開機 web 服務。
<code># systemctl start lighttpd</code>
然後我們将它設定為伴随系統啟動自動運作。
<code># systemctl enable lighttpd</code>
如要讓我們運作在 lighttpd 上的網頁或網站能在 internet 或同一個網絡内被通路,我們需要在防火牆程式中設定打開 80 端口。由于 centos 7 和 ubuntu15.04 都附帶 systemd 作為預設初始化系統,是以我們預設用的都是 firewalld。如果要打開 80 端口或 http 服務,我們隻需執行下面的指令:
<code># firewall-cmd --permanent --add-service=http</code>
<code>success</code>
<code># firewall-cmd --reload</code>
此外,我們可以将網站的檔案添加到 webroot 目錄下,并删除 lighttpd 的預設索引檔案,使我們的靜态網站可以在網際網路上通路。
如果想在 lighttpd web 伺服器中運作 php 應用,請參考下面的步驟:
在 lighttpd 成功安裝後,我們需要安裝 php 及相關子產品,以在 lighttpd 中運作 php5 腳本。
<code># apt-get install php5 php5-cgi php5-fpm php5-mysql php5-curl php5-gd php5-intl php5-imagick php5-mcrypt php5-memcache php-pear</code>
<code># 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</code>
如要讓 php 與 lighttpd 協同工作,我們隻要根據所使用的發行版執行如下對應的指令即可。
首先要做的便是使用檔案編輯器編輯 php 設定檔案(例如<code>/etc/php.ini</code>)并取消掉對<code>cgi.fix_pathinfo=1</code>這一行的注釋。
<code># nano /etc/php.ini</code>
完成上面的步驟之後,我們需要把 php-fpm 程序的所有權從 apache 轉移至 lighttpd。要完成這些,首先用檔案編輯器打開<code>/etc/php-fpm.d/www.conf</code>檔案。
<code># nano /etc/php-fpm.d/www.conf</code>
然後在檔案中增加下面的語句:
<code>user = lighttpd</code>
<code>group = lighttpd</code>
做完這些,我們儲存并退出文本編輯器。然後從<code>/etc/lighttpd/modules.conf</code>設定檔案中添加 fastcgi 子產品。
<code># nano /etc/lighttpd/modules.conf</code>
然後,去掉下面語句前面的<code>#</code>來取消對它的注釋。
最後我們還需在文本編輯器設定 fastcgi 的設定檔案。
<code># nano /etc/lighttpd/conf.d/fastcgi.conf</code>
在檔案尾部添加以下代碼:
<code>fastcgi.server += ( ".php" =></code>
<code>((</code>
<code>"host" => "127.0.0.1",</code>
<code>"port" => "9000",</code>
<code>"broken-scriptfilename" => "enable"</code>
<code>))</code>
<code>)</code>
在編輯完成後儲存并退出文本編輯器即可。
如需啟用 lighttpd 的 fastcgi,隻需執行下列代碼:
<code># lighttpd-enable-mod fastcgi</code>
<code></code>
<code>enabling fastcgi: ok</code>
<code>run /etc/init.d/lighttpd force-reload to enable changes</code>
<code># lighttpd-enable-mod fastcgi-php</code>
<code>enabling fastcgi-php: ok</code>
<code>run `/etc/init.d/lighttpd` force-reload to enable changes</code>
然後,執行下列指令來重新開機 lighttpd。
<code># systemctl force-reload lighttpd</code>
如需檢測 php 是否按預期工作,我們需在 lighttpd 的 webroot 目錄下建立一個 php 檔案。本教程中,在 ubuntu 下 /var/www/html 目錄,centos 下 /src/www/htdocs 目錄下使用文本編輯器建立并打開 info.php。
使用 centos 7
<code># nano /var/www/info.php</code>
使用 ubuntu 15.04
<code># nano /srv/www/htdocs/info.php</code>
然後隻需将下面的語句添加到檔案裡即可。
<code><?php phpinfo(); ?></code>
在編輯完成後儲存并推出文本編輯器即可。
原文釋出時間為:2016-07-07
本文來自雲栖社群合作夥伴“linux中國”