国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Lighttpd 的安裝配置

lighttpd(http://lighttpd.net/)和apache一樣是開源的,與apache相比,雖然功能不及apache完善,穩(wěn)定性也不如apache,但是,不管是服務靜態(tài)頁面,還是服務動態(tài)內容(CGI,PHP),它都比apache快,用于ad banner之類的WEB服務器是最恰當不過了。

本文從應用的角度,說明如何安裝、配置lighttpd。

(1) 安裝

可從http://lighttpd.net/download/下載最新的源碼(.tar.gz)或者rpm包。如果下載的是.tar.gz文件,則和GNU的其他軟件一樣,先./configure一下,然后 make && make install就搞定了。但是如果你想定制一些功能,就得好好看看解壓后README, INSTALL以及./configure --help的輸出結果了。這里僅僅說一下如何從源碼安裝,其他安裝方式可參考 http://trac.lighttpd.net/trac/wiki/TutorialInstallation。

$ gzip -cd lighttpd-1.4.9.tar.gz | tar xf -...$ cd lighttpd-1.4.9$ ./configure --help`configure‘ configures lighttpd 1.4.9 to adapt to many kinds of systems.Usage: ./configure [OPTION]... [VAR=VALUE]...To assign environment variables (e.g., CC, CFLAGS...), specify them asVAR=VALUE.  See below for descriptions of some of the useful variables.Defaults for the options are specified in brackets.Configuration:...Installation directories:--prefix=PREFIX         install architecture-independent files in PREFIX[/usr/local]--exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX[PREFIX]By default, `make install‘ will install all the files in`/usr/local/bin‘, `/usr/local/lib‘ etc.  You can specifyan installation prefix other than `/usr/local‘ using `--prefix‘,for instance `--prefix=$HOME‘.For better control, use the options below.Fine tuning of the installation directories:...Program names:...System types:...Optional Features:--disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)--enable-FEATURE[=ARG]  include FEATURE [ARG=yes]--enable-maintainer-mode  enable make rules and dependencies not useful(and sometimes confusing) to the casual installer--disable-dependency-tracking  speeds up one-time build--enable-dependency-tracking   do not reject slow dependency extractors--enable-static[=PKGS]build static libraries [default=no]--enable-shared[=PKGS]build shared libraries [default=yes]--enable-fast-install[=PKGS]optimize for fast installation [default=yes]--disable-libtool-lock  avoid locking (might break parallel builds)--enable-lfs            Turn on Large File System (default)--disable-ipv6          disable IPv6 supportOptional Packages:--with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]--without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)--with-gnu-ld           assume the C compiler uses GNU ld [default=no]--with-pic              try to use only PIC/non-PIC objects [default=useboth]--with-tags[=TAGS]include additional configurations [automatic]--with-mysql[=PATH]Include MySQL support. PATH is the path to‘mysql_config‘--with-ldap             enable LDAP support--with-attr             enable extended attribute support--with-valgrind         enable internal support for valgrind--with-openssl[=DIR]Include openssl support (default no)--with-openssl-includes=DIROpenSSL includes--with-openssl-libs=DIR OpenSSL libraries--with-kerberos5        use Kerberos5 support with OpenSSL--with-pcre             Enable pcre support (default yes)--with-bzip2            Enable bzip2 support for mod_compress--with-fam              fam/gamin for reducing number of stat() calls--with-webdav-props     properties in mod_webdav--with-gdbm             gdbm storage for mod_trigger_b4_dl--with-memcache         memcached storage for mod_trigger_b4_dl--with-lua              lua engine for mod_cmlSome influential environment variables:...

如上所述,可通過--prefix指定安裝路徑,默認安裝在/usr/local下??梢灾付▎⒂媚男┨卣?插件),禁用哪些特征(插件)。假定我們要把lighttpd安裝到/usr/local/lighttpd-1.4.9下面。

$ ./configure --prefix=/usr/local/lighttpd-1.4.9$ make$ make install$ cp  doc/lighttpd.conf /usr/local/lighttpd-1.4.9/  # 拷貝配置文件$ cd /usr/local/lighttpd-1.4.9$ vi lighttpd.conf	# 修改配置文件 

配置文件很直觀明了,一般只要把server.document-root、server.errorlog、accesslog.filename改成你的實際目錄和文件名字就可以了。

$ sbin/lighttpd -f lighttpd.conf # 啟動lighttpd服務$ ps aux | grep lighttpdwww 15403  0.0  0.9  2860 1148 ? S 00:15 0:00 sbin/lighttpd -f

這就完成了從安裝到啟動的整個過程,很簡單吧。從最后一行的輸出可以看出,lighttpd是單進程服務的,這和apache不一樣(也許是它的穩(wěn)定性不如apache的一個原因)。

(2) 整合php和fastcgi

以php-4.3.11為例,編譯PHP的時候,不能指定 --with-apxs選項,編譯命令行大致如下:

$ ./configure ... --enable-force-cgi-redirect --enable-fastcgi$ make$ sapi/cgi/php -vPHP 4.3.11 (cgi-fcgi) (built: Jan 30 2006 00:12:34)Copyright (c) 1997-2004 The PHP GroupZend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

make完了后,會在sapi/cli目錄生成命令行下的php程序,sapi/cgi下生成fastcgi下的php程序。如果執(zhí)行sapi/cgi下的php顯示版本號,你會發(fā)現(xiàn)有 cgi-fcgi的說明,這就表明你成功了。

$ mkdir /usr/local/lighttpd-1.4.9/fcgi$ cp sapi/cgi/php /usr/local/lighttpd-1.4.9/fcgi/$ vi /usr/local/lighttpd-1.4.9/lighttpd.conf

我們建立一個子目錄fcgi用來保存所有的fast-cgi程序,然后把php拷貝到該目錄下。編輯lighttpd.conf,如下所示:

...server.modules = (..."mod_fastcgi",...)...fastcgi.server = (".php" =>( "127.0.0.1" =>("socket" => "/tmp/fcgi_php.sock","bin-path" => "/usr/local/lighttpd-1.4.9/fcgi/php")))

重新啟動lighttpd就可以了。Lighttpd和fastcgi通信有兩種方式:通過Unix socket通信,如以上PHP的啟動;通過TCP/IP socket通信。Lighttpd支持基于fastcgi的負載均衡,不過我沒嘗試過。

關于fastcgi的協(xié)議規(guī)范,請參考http://www.fastcgi.com/,以下是我自己寫的一個fastcgi的配置樣例:

fastcgi.server = ( "/fastcgi/adsim" =>( "127.0.0.1" =>("host" => "127.0.0.1","port" => 4000,"bin-path" => "/usr/local/lighttpd-1.4.9/fcgi/adsim","check-local" => "disable"))

check-local必須設置為disable,否則因為找不到/fastcgi/adsim會導致請求失敗。

(3) 制作lighttpd啟動腳本

每次啟動lighttpd時我們要指定配置文件的位置,停止lighttpd時要先找到進程號,然后用kill發(fā)送停止信號,有點太麻煩了。好在lighttpd自帶了一個腳本程序能輔助完成這些操作,只要稍微改改就能用了,那就是源碼目錄doc/rc.lighttpd和doc/rc.lighttpd.redhat,后者專用于RedHat Linux。主要的改動之處在于:

...if [ -z "$LIGHTTPD_CONF_PATH" ]; thenLIGHTTPD_CONF_PATH="/usr/local/lighttpd-1.4.9/lighttpd.conf"fi...lighttpd="/usr/local/lighttpd-1.4.9/usr/sbin/lighttpd"...

用這個腳本管理lighttpd是不是方便多了。

(4) Lighttpd和OpenSSL

Lighttpd默認不編譯ssl模塊,所以必須在編譯的時候明確指定 --with-openssl,然后再生成自簽署的服務器證書或者從CA那里獲取。生成自簽署證書的方法如下:

$ openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes

Lighttpd要求證書和私匙保存在同一個文件里,如果是分開的,則需要合并:

$ cat host.key host.crt > host.pem

配置lighttpd.conf,大致樣子如下:

ssl.engine = "enable"ssl.pemfile = "server.pem"

你可以針對某個虛擬主機做這樣的設置,但是由于SSL工作在TCP層,所以不能設置基于名稱的虛擬主機,只能設置基于端口的。 以下是一個配置樣例:

$SERVER["socket"] == "192.168.146.128:443" {ssl.engine = "enable"ssl.pemfile = "/usr/local/lighttpd/certs/server.pem"server.document-root = "/home/www/wfs/www"}

(5) 配置目錄列表

修改 lighttpd.conf,大致如下所示:

server.module = {..."mod_dirlisting",...}dir-listing.activate = "enable"

(6) 配置CGI

修改lighttpd.conf,首先需要啟動mod_cgi,然后在static-file.exclude-extensions中指定cgi文件的擴展名,最后通過cgi.assign配置指令進行關聯(lián)。

對于帶擴展名且需要特定解析程序執(zhí)行的CGI,可以指定解析程序的路徑,比如:

cgi.assign = ( ".pl"  => "/usr/bin/perl",".cgi" => "/usr/bin/perl" )

對于帶擴展名切不需要特定解析程序就能執(zhí)行的CGI,可指定解析程序為空,比如:

cgi.assign = (".cgi" => "")

對于不帶擴展名的CGI程序,只能通過固定路徑存取了,比如:

cgi.assgin = ( "/cgi-bin/mycgi" => "/usr/local/cgi/mycgi )

(7) 配置虛擬主機

配置基于端口的虛擬主機上文有所描述,基于名稱的虛擬主機也很簡單。修改lighttpd.conf,啟動模塊mod_simple_vhost,然后指定你的虛擬主機信息,比如:

$HTTP["host"] == "news.example.org" {server.document-root = "/var/www/servers/news2.example.org/pages/"} 

Lighttpd注重于速度,而Apache注重于穩(wěn)定性和功能,怎么選擇還得看具體的應用。

( categories: WWW )
由 Marchday 在 周二, 2006-07-11 04:49 提交

lighttpd.conf中有以下幾個選項可考慮調整:

server.use-ipv6 = 0 # 缺省為禁用
server.event-handler = "linux-sysepoll" # Linux環(huán)境下epoll系統(tǒng)調用可提高吞吐量
server.max-worker = 10 # 如果你的系統(tǒng)資源沒跑滿,可考慮調高
server.max-fds = 4096 # 默認的,應該夠用了,可根據(jù)實際情況調整
server.max-connections = 4096 # 默認等于 server.max-fds
server.network-backend = "linux-sendfile" # 可考慮writev系統(tǒng)調用,不過沒測過

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
基于php在各種web服務器的運行模式詳解
Lighttpd與PHP
php在apache中運行模式
我所了解的cgi
nginx+PHP+PHP-FPM(FastCGI)在Ubuntu上的安裝和配置
moodle 2.0.2 安裝圖文教程 2——PHP Mysql環(huán)境搭建和moodle安裝 - 喬木的日志 - ICT教育 - 中小學信息技術教育和教育信息化網(wǎng)站
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服