国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

實現(xiàn)nginxphp服務器配置的非主流配置方法

2024-09-01 13:45:27
字體:
來源:轉載
供稿:網友
實現(xiàn)php&nginx服務器配置的非主流配置方法
這種方法并非以前所流行的apache 加 php_module 的方式運行,我是采用nginx 作為web服務器,以fastcgi的方式運行php。

linux下編譯:

nginx我還是習慣選擇8.54的版本,它的編譯依賴以下幾個軟件包,解壓這些源碼包,在configure中設置好這些源碼的路徑,nginx在編譯的時候會自己將他們編譯進去的:

   pcre: 主要用于rewrite等模塊
   zlib: 這個不用說了
   openssl: 如果你還知道https這個東西,那么你懂的~~~(當然你可以不需要這個功能)
   md5 /sha1: 這兩者都是用于生成信息摘要的希哈算法,這倆個東西不是必須的,但是我發(fā)現(xiàn)如果不選擇其中一個那么openssl是不會成功地編譯進nginx的
下面是我自己寫的一個安裝腳本,有temp-path字樣的編譯選項所設置都是nginx在運行時產生的臨時文件的路徑,pid- path,lock-path也是臨時文件路徑,log-path是日志文件路徑,我因為自己機子上一些權限的問題所以要設置一下.一般情況下其實這些是不必要的,nginx默認會統(tǒng)統(tǒng)把生成的這些文件放在自己的安裝目錄下.

復制代碼 代碼如下:


tmp=/tmp/nginx
log=/home/jsckdao/log
pcre=~/downloads/pcre-8.02
zlib=~/downloads/zlib-1.2.5-src
openssl=~/downloads/openssl-0.9.8q
md5=~/downloads/md5-1.3.0
./configure --prefix=/usr/local/nginx
--http-proxy-temp-path=${tmp}/nginx-proxy.tmp
--http-fastcgi-temp-path=${tmp}/nginx-fcgi.tmp
--http-uwsgi-temp-path=${tmp}/nginx-uwsgi.tmp
--http-scgi-temp-path=${tmp}/nginx-scgi.tmp
--http-client-body-temp-path=${tmp}/nginx-client.tmp
--pid-path=${tmp}/nginx.pid
--lock-path=${tmp}/nginx.lock
--http-log-path=${log}/http.log
--error-log-path=${log}/http-error.log
--with-pcre=$pcre #pcre 源碼包的路徑
--with-zlib=$zlib #zlib 源碼包的路徑
--with-http_ssl_module #起用ssl支持
--with-openssl=$openssl #openssl 源碼包路徑
make
make install


php(5.2)的編譯可以復雜點,也可以簡單點,因為我們編譯php時主要目的是編譯它的腳本引擎和一些核心庫,很多外圍的東西不一定非要在編譯php的時候加進去,可以在需要的時候將它們編譯成擴展庫再修改配置文件來加載它們。
我的編譯代碼如下:

復制代碼 代碼如下:


./configure --prefix=/usr/local/php
--with-mysql=/usr/local/mysql #設置mysql的安裝路徑
--enable-fastcgi #開啟fastcgi支持
--enable-debug #支持調試
make
make install


其實關于mysql的那一句都是可以不要的,只是我懶得再編譯一次mysql擴展,所以就這樣把它直接編譯進php了,這樣做的前提是你必須先安裝mysql。
令外還有一些注意事項:編譯php時必須確保系統(tǒng)中擁有l(wèi)ibxml2與libxml-dev這倆個軟件包,因為php默認會將xml的功能編譯進去,所以xml的支持是必不可少的。還有一個就是autoconf這條命令了,在編譯擴展的時候,phpize會調用系統(tǒng)中的這個命令來生成擴展包的 configure文件,沒有它你就不能作擴展了,這一點也是要記住的,畢竟linux下的php不像windows版那樣事先把所有的擴展都編譯好了。
至于window下nginx,php的安裝就沒有什么難度了,下個zip包,解壓就能用,只要稍微配置就可以了.
配置:
如果只是想讓php能運行的話那么直接輸入命令:
./php-cgi -b 3344
這樣就開啟了php的fastcgi進程了,-b參數是綁定該進程的偵聽端口,隨便找個沒用的端口填就可以了,這里綁定的是3344.
然后在nginx的配置文件中加上這么幾行:

復制代碼 代碼如下:


location ~ .php$ {
  root    /home/jsckdao/www.3ppt.com; #這是你網站的根目錄
  fastcgi_pass  127.0.0.1:3344; #這里指定了fastcgi進程偵聽的端口,nginx就是通過這里與php交互的
  fastcgi_index  index.php;
  fastcgi_param script_filename $document_root/$fastcgi_script_name;
  include    fastcgi_params;
}


如果要改nginx的偵聽端口的話找到"listen"這么一項,改就是了.運行nginx,在/home/jsckdao/www目錄中寫一個測試文件test.php:

復制代碼 代碼如下:


<?php
phpinfo();
?>


訪問:8080/test.php,如果顯示了php所以的配置信息,那么就基本沒什么問題,已經可以用這個環(huán)境寫些php代碼了.
至于php的調試器我選擇xdebug,不為什么,習慣所致。加載xdebug時,在配置文件中的寫法根據系統(tǒng)的不同好像也有點不同。linux下是:zend_extension_debug=<path>,window中加載的dll有兩種,一種文件名會帶有ts的后綴,這種要這要樣寫:zend_extension_ts=<path>另外一種就這樣:zend_extension=<path& gt;,path一定要寫絕對路徑。雖然ts為何意我也不是很清楚,但是這些設置是一定不可以搞錯的。
設置好后重新運行php-cgi,然后重新訪問test.php,如果有xdebug的那一塊出現(xiàn)了,那么就成功了.
當然這是一個很簡單的配置,只能讓你運行php,要想真正做成你需要的開發(fā)環(huán)境,還需要你根據自己的需要修改php和nginx的配置文件,這些配置內容很多,我自己也在學習中,就不好多講了.
另外有一點需要注意,php的配置文件在它的源碼包中有兩個:php.ini-dist和php.ini-recommended,分別是針對生成環(huán)境和開發(fā)環(huán)境的配置.你需要把其中一個改名為php.ini.重啟后查看phpinfo()的頁面,靠上的地方有一項" loaded configuration file",它的值如果就是你的php.ini的路徑,那么就沒問題了,如果不是話,就看看上面一項" configuration file (php.ini) path",你把你的php.ini文件移到這個目錄下在重啟就可以了.因為php默認會在這個路徑下尋找php.ini的.當然你也可以在運行php- cgi的時候設置你的php.ini路徑,比如這樣:
php-cgi -b 3344 -c /home/jsckdao/php.ini
這樣就是把/home/jsckdao/php.ini這個文件作為配置文件了
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 柘荣县| 南丹县| 哈巴河县| 丁青县| 建平县| 天峨县| 汉川市| 华阴市| 娱乐| 报价| 南投市| 祁连县| 同仁县| 上思县| 长宁县| 株洲市| 原阳县| 怀安县| 宁夏| 榆树市| 革吉县| 阿尔山市| 阿合奇县| 凤台县| 梓潼县| 松潘县| 皮山县| 清苑县| 巴彦淖尔市| 珲春市| 永德县| 镇坪县| 卓尼县| 乐至县| 鸡东县| 西畴县| 格尔木市| 扬州市| 霞浦县| 莱阳市| 义乌市|