欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ubuntu上配置Nginx+PHP5 FastCGI服務(wù)器配置

 更新時(shí)間:2010年06月15日 02:46:41   作者:  
ubuntu上配置Nginx+PHP5 FastCGI服務(wù)器配置方法, 需要的朋友可以參考下。

首先安裝或編譯Nginx。
安裝Nginx
源碼包可以在官方主頁(yè)上下載。Ubuntu 9.04可以直接通過(guò)apt安裝,也可以從這里下載最新的deb包:
sudo apt-get install nginx
如果要自己編譯的話,需要確保自己已經(jīng)有編譯器和PCRE的庫(kù)(用于Nginx的rewrite模塊,如果不需要這個(gè)模塊可以在configure時(shí)使用./configure –without-rewrite)。編譯方法如下:
wget http://sysoev.ru/nginx/nginx-0.5.34.tar.gz
tar zxvf nginx-0.5.34.tar.gz
cd nginx-0.5.34
./configure #默認(rèn)配置安裝路徑為/usr/local/nginx 可以追加--prefix=/usr設(shè)置到/usr
make && make install  # install要求有root權(quán)限

Ubuntu安裝之后的文件結(jié)構(gòu)大致為:
所有的配置文件都在/etc/nginx下,并且每個(gè)虛擬主機(jī)已經(jīng)安排在了/etc/nginx/sites-available下
程序文件在/usr/sbin/nginx
日志放在了/var/log/nginx中
并已經(jīng)在/etc/init.d/下創(chuàng)建了啟動(dòng)腳本nginx
默認(rèn)的虛擬主機(jī)的目錄設(shè)置在了/var/www/nginx-default

而自己利用默認(rèn)配置編譯的,則放在/usr/local/nginx下,以下是目錄結(jié)構(gòu):
/usr/local/nginx/conf 配置目錄
/usr/local/nginx/html 默認(rèn)的網(wǎng)站根目錄
/usr/local/nginx/logs 日志和pid文件目錄
/usr/local/nginx/sbin 執(zhí)行文件目錄

下面可以啟動(dòng)nginx來(lái)看看效果(請(qǐng)確保80端口沒(méi)有其他服務(wù)在使用):
Ubuntu請(qǐng)運(yùn)行:
sudo /etc/init.d/nginx start
其他請(qǐng)運(yùn)行:
/usr/local/nginx/sbin/nginx
然后就可以通過(guò)http://localhost/來(lái)看看效果了。
要配置nginx的自動(dòng)運(yùn)行,可以將/usr/local/nginx/sbin/nginx添加到/etc/rc.local中,Ubuntu可以執(zhí)行
update-rc.d nginx defaults

安裝PHP5
至于如何在Linux上安裝PHP,在這里我們需要的是cgi方式的php。Ubuntu下可以直接運(yùn)行:
sudo apt-get install php5-cgi
并且可以根據(jù)自己的情況安裝一些字節(jié)碼優(yōu)化和緩存的擴(kuò)展,如eaccelerator、apc、xcache等。
PHP5的CGI方式的一大優(yōu)勢(shì)是內(nèi)置了FastCGI的支持,只需指明綁定的地址和端口參數(shù)便可以以FastCGI的方式運(yùn)行,如下:
php-cgi -b 127.0.0.1:9000

如何配置其與nginx一起運(yùn)行呢?
配置Nginx的PHP FastCGI
請(qǐng)將以下內(nèi)容保存為fastcgi_params文件,保存于/usr/local/nginx/conf下(Ubuntu可保存于/etc/nginx下),他為我們的FastCGI模塊設(shè)置了基本的環(huán)境變量:
#fastcgi_params
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

請(qǐng)?zhí)貏e注意加粗的一行,PHP-CGI特別需要此行信息來(lái)確定PHP文件的位置。
另外需要在PHP-CGI的配置文件(Ubuntu 上此配置文件位于/etc/php5/cgi/php.ini)中,打開(kāi)cgi.fix_pathinfo選項(xiàng):
cgi.fix_pathinfo=1;
這樣php-cgi方能正常使用SCRIPT_FILENAME這個(gè)變量。

接下來(lái)在nginx的配置中針對(duì)php文件配置其利用FastCGI進(jìn)程來(lái)執(zhí)行:
server {
    index index.php;
    root  /usr/local/nginx/html;

    location ~ .*.php$ {
        include /usr/local/nginx/conf/fastcgi_params;  #請(qǐng)根據(jù)自己保存的路徑進(jìn)行設(shè)置
        fastcgi_index index.php;
        fastcgi_pass  127.0.0.1:9000; #請(qǐng)根據(jù)自己的FastCGI綁定的地址和端口進(jìn)行配置
    }
}

通知Nginx重新載入配置:
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
Ubuntu用戶可以使用init腳本:sudo /etc/init.d/nginx reload
然后啟動(dòng)php-cgi -b 127.0.0.1:9000

假設(shè)你在文檔根目錄放了index.php,并包含“”的內(nèi)容,現(xiàn)在再看http://localhost/index.php便應(yīng)該能看到php的調(diào)試信息了。

配置php進(jìn)程
直接使用php-cgi的FastCGI運(yùn)行方式有兩個(gè)問(wèn)題(貌似應(yīng)該有解決方案,如果知道的話可以教教我):
如果進(jìn)程崩潰,難以配置重新啟動(dòng)、單進(jìn)程的效率低
因此,我們可以利用Lighttpd的spawn-fcgi來(lái)控制進(jìn)程的運(yùn)行。獲得spawn-fcgi的方法如下:
wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.bz2 #獲取Lighttpd的源碼包
tar -xvjf lighttpd-1.4.18.tar.bz2
cd lighttpd-1.4.18
./configure  #編譯
make
cp src/spawn-fcgi /usr/local/bin/spawn-fcgi #取出spawn-fcgi的程序

下面我們就可以使用 spawn-fcgi 來(lái)控制php-cgi的FastCGI進(jìn)程了
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi

參數(shù)含義如下
-f <fcgiapp> 指定調(diào)用FastCGI的進(jìn)程的執(zhí)行程序位置,根據(jù)系統(tǒng)上所裝的PHP的情況具體設(shè)置
-a <addr> 綁定到地址addr
-p <port> 綁定到端口port
-s <path> 綁定到unix socket的路徑path
-C <childs> 指定產(chǎn)生的FastCGI的進(jìn)程數(shù),默認(rèn)為5(僅用于PHP)
-P <path> 指定產(chǎn)生的進(jìn)程的PID文件路徑
-u和-g FastCGI使用什么身份(-u 用戶 -g 用戶組)運(yùn)行,Ubuntu下可以使用www-data,其他的根據(jù)情況配置,如nobody、apache等

然后我們可以將這行代碼加入到/etc/rc.local文件底部,這樣系統(tǒng)啟動(dòng)的時(shí)候也可以同時(shí)啟動(dòng)PHP的FastCGI進(jìn)程。

相關(guān)文章

  • nginx基于域名,端口,不同IP的虛擬主機(jī)設(shè)置的實(shí)現(xiàn)

    nginx基于域名,端口,不同IP的虛擬主機(jī)設(shè)置的實(shí)現(xiàn)

    這篇文章主要介紹了nginx基于域名,端口,不同IP的虛擬主機(jī)設(shè)置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 詳解如何基于Nginx搭建流媒體服務(wù)器

    詳解如何基于Nginx搭建流媒體服務(wù)器

    Nginx RTMP是一個(gè)Nginx插件,支持將RTMP和HLS流添加到媒體服務(wù)器,本文將以u(píng)buntu為例為大家介紹一下如何安裝使用nginx Rtmp 插件的步驟,需要的可以參考下
    2023-10-10
  • CentOS 4.0安裝配置Nginx的方法

    CentOS 4.0安裝配置Nginx的方法

    這篇文章主要介紹了CentOS 4.0安裝配置Nginx的方法,需要的朋友可以參考下
    2014-11-11
  • 淺談一下Nginx性能優(yōu)化

    淺談一下Nginx性能優(yōu)化

    這篇文章主要介紹了Nginx性能優(yōu)化,Nginx (engine x) 是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù),需要的朋友可以參考下
    2023-04-04
  • Nginx Rewrite規(guī)則與使用介紹和技巧實(shí)例

    Nginx Rewrite規(guī)則與使用介紹和技巧實(shí)例

    這篇文章主要介紹了Nginx Rewrite規(guī)則與使用介紹和技巧實(shí)例,本文講解了正則表達(dá)式匹配、文件及目錄匹配、flag標(biāo)記、Nginx Rewrite相關(guān)指令等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • Nginx服務(wù)器中處理AJAX跨域請(qǐng)求的配置方法講解

    Nginx服務(wù)器中處理AJAX跨域請(qǐng)求的配置方法講解

    這篇文章主要介紹了Nginx服務(wù)器中處理AJAX跨域請(qǐng)求的配置方法講解,包括Nginx作Apache的反向代理時(shí)的配置方法,需要的朋友可以參考下
    2016-01-01
  • Nginx代理MySQL實(shí)現(xiàn)通過(guò)域名連接數(shù)據(jù)庫(kù)的詳細(xì)教程

    Nginx代理MySQL實(shí)現(xiàn)通過(guò)域名連接數(shù)據(jù)庫(kù)的詳細(xì)教程

    我們的生產(chǎn)環(huán)境基本上都部署在云服務(wù)器上,例如應(yīng)用服務(wù)器、MySQL服務(wù)器等,如果MySQL服務(wù)器直接暴露在公網(wǎng),就會(huì)存在很大的風(fēng)險(xiǎn),為了保證數(shù)據(jù)安全,MySQL服務(wù)器的端口是不對(duì)外開(kāi)放的,所以本文介紹了Nginx代理MySQL實(shí)現(xiàn)通過(guò)域名連接數(shù)據(jù)庫(kù)的詳細(xì)教程
    2024-07-07
  • Nginx 運(yùn)維之域名驗(yàn)證的方法示例

    Nginx 運(yùn)維之域名驗(yàn)證的方法示例

    這篇文章主要介紹了Nginx 運(yùn)維之域名驗(yàn)證的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • windows下nginx如何操作命令

    windows下nginx如何操作命令

    這篇文章主要介紹了windows下nginx如何操作命令,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Nginx動(dòng)態(tài)壓縮gzip的實(shí)現(xiàn)示例

    Nginx動(dòng)態(tài)壓縮gzip的實(shí)現(xiàn)示例

    有時(shí)候適當(dāng)?shù)膲嚎s傳輸?shù)奈募?huì)對(duì)APP或網(wǎng)站的性能有極大的提升,本文主要介紹了Nginx動(dòng)態(tài)壓縮gzip的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08

最新評(píng)論