亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

Linux下從零開始安裝配置Nginx服務器+PHP開發環境

2024-05-04 23:41:13
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Linux下從零開始安裝配置Nginx服務器+PHP開發環境的教程,文中采用的是最主流的FastCGI連接方法,需要的朋友可以參考下
 

Nginx是俄羅斯人編寫的十分輕量級的HTTP服務器,以事件驅動的方式編寫,所以有非常好的性能,同時也是一個非常高效的反向代理、負載平衡。其擁有匹配Lighttpd的性能,同時還沒有Lighttpd的內存泄漏問題,而且Lighttpd的mod_proxy也有一些問題并且很久沒有更新。

因此我打算用其替代Apache應用于Linux服務器上。但是Nginx并不支持cgi方式運行,原因是可以減少因此帶來的一些程序上的漏洞。那么我們必須使用FastCGI方式來執行PHP程序。

下面是我成功地配置Nginx + PHP5 FastCGI的過程

首先安裝或編譯Nginx

安裝Nginx

源碼包可以在官方主頁上下載。Ubuntu 7.10可以直接通過apt安裝,也可以從這里下載最新的deb包:

sudo apt-get install nginx

如果要自己編譯的話,需要確保自己已經有編譯器和PCRE的庫(用于Nginx的rewrite模塊,如果不需要這個模塊可以在configure時使用./configure –without-rewrite),編譯方法如下:

wget http://sysoev.ru/nginx/nginx-0.5.34.tar.gztar zxvf nginx-0.5.34.tar.gzcd nginx-0.5.34./configure #默認配置安裝路徑為/usr/local/nginx 可以追加--prefix=/usr設置到/usrmake && make install # install要求有root權限

Ubuntu安裝之后的文件結構大致為:

  • 所有的配置文件都在/etc/nginx下,并且每個虛擬主機已經安排在了/etc/nginx/sites-available下
  • 程序文件在/usr/sbin/nginx
  • 日志放在了/var/log/nginx中
  • 并已經在/etc/init.d/下創建了啟動腳本nginx
  • 默認的虛擬主機的目錄設置在了/var/www/nginx-default

而自己利用默認配置編譯的,則放在/usr/local/nginx下,以下是目錄結構:

  • /usr/local/nginx/conf 配置目錄
  • /usr/local/nginx/html 默認的網站根目錄
  • /usr/local/nginx/logs 日志和pid文件目錄
  • /usr/local/nginx/sbin 執行文件目錄

下面可以啟動nginx來看看效果(請確保80端口沒有其他服務在使用):

Ubuntu請運行:

sudo /etc/init.d/nginx start

其他請運行:

/usr/local/nginx/sbin/nginx

然后就可以通過http://localhost/來看看效果了。

要配置nginx的自動運行,可以將/usr/local/nginx/sbin/nginx添加到/etc/rc.local中,Ubuntu可以執行

update-rc.d nginx defaults

安裝PHP5

至于如何在Linux上安裝PHP,有很多文章,甚至很多平臺上都有現成的軟件包,無需自己編譯。

1. 先進行php輔助包的安裝如下
常用的包有

  • zlib-1.2.3.tar.bz2
  • jpegsrc.v6b.tar.gz libpng-1.2.22.tar.bz2  libmcrypt-2.5.8.tar.gz
  • mhash-0.9.9.9.tar.gz mcrypt-2.6.8.tar.gz

 

例:

tar -jxf zlib-1.2.3.tar.bz2

解壓

tar zxf tar -jxf zlib-1.2.3.tar.bz2

進入到

 cd zlib-1.2.3 

后執行

./configure 

然后執行

make make install 

其余的安裝方法相同。
2.  以上的輔助包安裝完之后,進行php包的安裝
步驟

tar -zxvf php-5.2.14.tar.gz && cd php-5.2.14

方法同上 執行

./configure --prefix=/usr/local/php5 

后面加上需要加載的模塊
 

./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql5 --with-freetype-dir --with-zlib --with-png-dir --with-iconv --with-libxml-dir --with-jpeg-dir --with-curl --with-gd --enable-ftp --enable-zip --enable-mbstring --with-mcrypt=/usr/local/libmcrypt 

(這些為加載的模塊,不是全部)按Enter 執行。
Php的配置文件為 php.ini。

PHP5的CGI方式的一大優勢是內置了FastCGI的支持,只需指明綁定的地址和端口參數便可以以FastCGI的方式運行,如下:

php-cgi -b 127.0.0.1:9000

如何配置其與nginx一起運行呢?

配置Nginx的PHP FastCGI

請將以下內容保存為fastcgi_params文件,保存于/usr/local/nginx/conf下(Ubuntu可保存于/etc/nginx下),他為我們的FastCGI模塊設置了基本的環境變量:

#fastcgi_paramsfastcgi_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-redirectfastcgi_param REDIRECT_STATUS  200;

請特別注意”fastcgi_script_name”一行,PHP-CGI特別需要此行信息來確定PHP文件的位置。

另外需要在PHP-CGI的配置文件(Ubuntu 上此配置文件位于/etc/php5/cgi/php.ini)中,打開cgi.fix_pathinfo選項:

cgi.fix_pathinfo=1;

這樣php-cgi方能正常使用SCRIPT_FILENAME這個變量。

接下來在nginx的配置中針對php文件配置其利用FastCGI進程來執行:

server {  index index.php;  root /usr/local/nginx/html;   location ~ .*.php$ {    include /usr/local/nginx/conf/fastcgi_params; #請根據自己保存的路徑進行設置    fastcgi_index index.php;    fastcgi_pass 127.0.0.1:9000; #請根據自己的FastCGI綁定的地址和端口進行配置  }}

通知Nginx重新載入配置:

kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

Ubuntu用戶可以使用init腳本:sudo /etc/init.d/nginx reload

然后啟動php-cgi -b 127.0.0.1:9000

假設你在文檔根目錄放了index.php,并包含”phpinfo();”的內容,現在再看http://localhost/index.php便應該能看到php的調試信息了。

配置php進程

直接使用php-cgi的FastCGI運行方式有兩個問題(貌似應該有解決方案,如果知道的話可以教教我):

1.如果進程崩潰,難以配置重新啟動
2.單進程的效率低
因此,我們可以利用Lighttpd的spawn-fcgi來控制進程的運行。獲得spawn-fcgi的方法如下:

wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.bz2 #獲取Lighttpd的源碼包tar -xvjf lighttpd-1.4.18.tar.bz2cd lighttpd-1.4.18./configure #編譯makecp src/spawn-fcgi /usr/local/bin/spawn-fcgi #取出spawn-fcgi的程序

下面我們就可以使用 spawn-fcgi 來控制php-cgi的FastCGI進程了

/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
參數含義如下

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

然后我們可以將這行代碼加入到/etc/rc.local文件底部,這樣系統啟動的時候也可以同時啟動PHP的FastCGI進程。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美xxxx做受欧美| 亚洲欧美一区二区三区在线| 欧美午夜久久久| 国产午夜精品一区二区三区| 精品视频在线播放色网色视频| 久色乳综合思思在线视频| 日韩av一区在线观看| www.日韩不卡电影av| 亚洲精品福利免费在线观看| 亚洲美腿欧美激情另类| 亚洲午夜国产成人av电影男同| 亚洲国产精久久久久久久| 国产成人精品一区| 亚洲自拍偷拍一区| 亚洲欧洲日产国码av系列天堂| 欧美极品少妇xxxxⅹ免费视频| 91av在线播放| 精品久久久久久久久久ntr影视| 国产日韩欧美中文在线播放| 在线免费观看羞羞视频一区二区| 精品久久久久久久大神国产| 久久久97精品| 国产亚洲福利一区| 亚洲欧美国内爽妇网| 91精品久久久久久久久久入口| 91亚洲精华国产精华| 欧美电影在线观看网站| 成人h视频在线观看播放| 国产精品福利在线观看网址| 久久在线免费观看视频| 亚洲欧美国产日韩天堂区| 亚洲精品一区二三区不卡| 成人综合国产精品| 日韩在线激情视频| 91亚洲国产成人久久精品网站| 久久久www成人免费精品张筱雨| 久久成人在线视频| 日本三级韩国三级久久| 日韩视频免费大全中文字幕| 国产精品毛片a∨一区二区三区|国| 精品日韩中文字幕| 亚洲综合av影视| 国产91热爆ts人妖在线| 九九热这里只有精品6| 日韩a**站在线观看| 亚洲aⅴ日韩av电影在线观看| 一区二区三区视频免费在线观看| 国产精品精品一区二区三区午夜版| 97人人模人人爽人人喊中文字| 亚洲一区美女视频在线观看免费| 性色av一区二区三区| 亚洲国产精品一区二区久| 国产极品精品在线观看| 97国产精品人人爽人人做| 亚洲国内高清视频| 成人激情春色网| 日韩欧美a级成人黄色| 国产日产久久高清欧美一区| 日韩欧美国产骚| 久久久久久久91| 久久久久中文字幕| 欧美自拍视频在线观看| 亚洲精品国产精品国自产在线| 一区二区三区在线播放欧美| 久久91精品国产| 日韩经典中文字幕| 久久久精品免费| 亚洲精品欧美极品| 精品国偷自产在线视频| 国产精品美乳一区二区免费| 日韩综合中文字幕| 中文字幕视频在线免费欧美日韩综合在线看| 精品亚洲aⅴ在线观看| 久久精品视频免费播放| 久久69精品久久久久久国产越南| 日本久久久a级免费| 亚洲男人天堂手机在线| 日韩国产精品亚洲а∨天堂免| 亚洲欧美国产另类| 91午夜在线播放| 亚洲女人被黑人巨大进入al| 91精品在线观| 亚洲3p在线观看| 日韩av中文字幕在线免费观看| 热草久综合在线| 欧美老女人在线视频| 91老司机在线| 2019亚洲日韩新视频| 欧美日韩高清在线观看| 国语自产精品视频在线看抢先版图片| 亚洲人成自拍网站| 精品久久在线播放| 亚洲一区中文字幕| 懂色av一区二区三区| 亚洲精品电影在线| 成人黄色中文字幕| 国产69久久精品成人| 亚洲大胆人体视频| 亚洲视频在线看| 久久久久久久一区二区| 日本欧美中文字幕| 国语自产在线不卡| 国产精品精品视频| 亚洲欧美中文另类| 亚洲国产成人爱av在线播放| 久久精品视频va| 91国产高清在线| 欧美精品aaa| 日韩美女免费观看| 亚洲欧美精品一区| 亚洲国产中文字幕在线观看| 亚洲国产精品视频在线观看| 亚洲成人网在线观看| 亚州欧美日韩中文视频| 97超碰色婷婷| 日韩中文字幕国产| 日韩在线视频国产| 亚洲视屏在线播放| 亚洲男人第一网站| 精品欧美国产一区二区三区| 亚洲国产精品va在线看黑人| 国产精品69久久| 国产精品久久999| 国产69精品久久久久9999| 国产精品欧美一区二区三区奶水| 国产精品第七十二页| 欧美日本亚洲视频| 91人人爽人人爽人人精88v| 97av在线视频免费播放| 日韩精品视频中文在线观看| 在线播放精品一区二区三区| 国产精品视频999| 亚洲乱码国产乱码精品精| 欧美极品欧美精品欧美视频| 亚洲免费成人av电影| 亚洲欧美在线x视频| 久久久www成人免费精品张筱雨| 成人xxxxx| 亚洲精品电影在线观看| 91久久久久久久| 中文字幕综合在线| 麻豆国产精品va在线观看不卡| 精品中文字幕在线2019| 欧美国产日韩一区二区| 亚洲精品国产免费| 亚洲国产中文字幕在线观看| 一本色道久久综合狠狠躁篇的优点| 亚洲人成网站777色婷婷| 久久成人人人人精品欧| 亚洲一区制服诱惑| 欧美有码在线观看| 久久精品成人一区二区三区| 97国产真实伦对白精彩视频8| 日韩欧美成人网| 在线观看成人黄色| 亚洲色图偷窥自拍| 亚洲变态欧美另类捆绑| 日本一区二三区好的精华液| 国产极品jizzhd欧美| 欧美日韩中文字幕在线| 亚洲在线视频观看| 一区二区三区在线播放欧美| 国产精品狼人色视频一区| 国产精品久久久久7777婷婷|