摘要:安裝和這里我使用的版本,目前官方已經(jīng)發(fā)布了的版本。已經(jīng)被包含在里面了,無(wú)需另外安裝。。。當(dāng)然,我這里只是配置了一個(gè)最基本的運(yùn)行環(huán)境,像你要運(yùn)行項(xiàng)目的話應(yīng)該還要配置虛擬主機(jī)偽靜態(tài)這些。
基本原理回想以前使用php都是通過(guò)apache來(lái)加載php的module運(yùn)行的,最近看到公司的項(xiàng)目逐漸切到nginx了,抱著好奇心,周末就開(kāi)始搗鼓起來(lái)了。。。
nginx本身不能處理PHP,它只是個(gè)web服務(wù)器,當(dāng)接收到請(qǐng)求后,如果是php請(qǐng)求,則發(fā)給php解釋器處理,并把結(jié)果返回給客戶端。
nginx一般是把請(qǐng)求發(fā)fastcgi管理進(jìn)程處理,fascgi管理進(jìn)程選擇cgi子進(jìn)程處理結(jié)果并返回被nginx。
這里我使用的php7版本,目前官方已經(jīng)發(fā)布了php7的beta3版本。php-fpm已經(jīng)被包含在里面了,無(wú)需另外安裝。。。
至于php7的編譯安裝,看一下我之前的 這篇文章 文章就妥妥的搞定了!
nginx的話,毫無(wú)疑問(wèn)我肯定選擇源碼編譯安裝,因?yàn)榇_實(shí)是習(xí)慣了這種方式了!
我這里就拿1.6.2版本為例,戳 這里下載,解壓之后進(jìn)入源碼目錄
#配置,相關(guān)參數(shù)含義自己去查閱文檔哦 ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --with-cc-opt="-Wno-deprecated-declarations" #編譯 make #安裝 sudo make install測(cè)試ngnix
#命令拷貝到系統(tǒng)目錄,方便使用 sudo cp /usr/local/nginx/nginx /usr/bin #測(cè)試配置是否出錯(cuò),如果出錯(cuò),按照錯(cuò)誤信息提示去修改了 nginx -t #啟動(dòng)nginx nginx
頁(yè)面訪問(wèn),輸入http://localhost:8888查看【這里我在配置文件里面把nginx的監(jiān)聽(tīng)端口改成了8888】出現(xiàn)如下頁(yè)面就正常了
配置php-fpm#復(fù)制一份有效的配置文件 sudo cp /usr/local/php7/etc/php-fpm.conf.default.conf php-fpm.conf #復(fù)制一份有效的用戶配置文件,用戶名是配置php的時(shí)候指定的 sudo cp /usr/local/php7/etc/php-fpm.d/www.conf.default www.conf #啟動(dòng)php-fpm,mac必須要以root用戶啟動(dòng),-R 參數(shù)表示 --allow-to-run-as-root sudo /usr/local/php7/sbin/php-fpm -R #查看一下php-fpm是否啟動(dòng)成功 ps aux | grep php-fpm #這里我修改了php-fpm的端口號(hào),默認(rèn)是9000 netstat -ant | grep 90001nginx整合php-fpm
修改nginx的配置文件,支持php文件的解析
#打開(kāi)配置文件,找到`location ~ .php$`這里,默認(rèn)的如下 ... #location ~ .php$ { # root html; # fastcgi_pass 127.0.0.1:9001; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # include fastcgi_params; #} ... #稍微改吧改吧就成了下面的樣子,相信你看的懂什么意思了。。。 ... location ~ .php$ { root html; fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ...測(cè)試php文件的解析
cd /usr/local/ngnix/html echo " index.php
瀏覽器訪問(wèn) http://localhost:8888/index.php,熟悉的畫(huà)面又出現(xiàn)了!
總結(jié)一下經(jīng)過(guò)以上這些簡(jiǎn)單的步驟之后,nginx下運(yùn)行php相信不再是那么神秘了。。。
當(dāng)然,我這里只是配置了一個(gè)最基本的運(yùn)行環(huán)境,像你要運(yùn)行項(xiàng)目的話應(yīng)該還要配置虛擬主機(jī)、偽靜態(tài)這些。
還有就是nginx配置文件的參數(shù)含義,這個(gè)有空的話還是去看看官方文檔說(shuō)明,畢竟你要知道你配置的每一項(xiàng)是什么意思才好!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/39180.html
摘要:地址這是一份適用于生產(chǎn)和開(kāi)發(fā)環(huán)境的。目前已經(jīng)在我司的生產(chǎn)環(huán)境上并運(yùn)行良好。日常開(kāi)發(fā)中也是基于此鏡像進(jìn)行的。如果想快速看看鏡像里有啥東西,只需要運(yùn)行其中替換成你實(shí)際的鏡像。開(kāi)發(fā)環(huán)境的使用單獨(dú)運(yùn)行這個(gè)容器是沒(méi)有意義的。 GITHUB地址:https://github.com/banyancheu... 這是一份適用于生產(chǎn)和開(kāi)發(fā)環(huán)境的 Dockerfile。 在 phuison/baseim...
摘要:地址這是一份適用于生產(chǎn)和開(kāi)發(fā)環(huán)境的。目前已經(jīng)在我司的生產(chǎn)環(huán)境上并運(yùn)行良好。日常開(kāi)發(fā)中也是基于此鏡像進(jìn)行的。如果想快速看看鏡像里有啥東西,只需要運(yùn)行其中替換成你實(shí)際的鏡像。開(kāi)發(fā)環(huán)境的使用單獨(dú)運(yùn)行這個(gè)容器是沒(méi)有意義的。 GITHUB地址:https://github.com/banyancheu... 這是一份適用于生產(chǎn)和開(kāi)發(fā)環(huán)境的 Dockerfile。 在 phuison/baseim...
摘要:為提供模塊,需要庫(kù)支持為提供功能為支持地址重寫(xiě)功能確保已正確安裝在上面的基礎(chǔ)環(huán)境安裝中,我們已經(jīng)安裝了,但是部分服務(wù)器上并沒(méi)有的安裝包,所以我們可以通過(guò)下載包自行編譯安裝。 一直以來(lái)我都通過(guò)網(wǎng)上的一些材料去搭建lnmp環(huán)境,通過(guò)直接yum安裝nginx mysql php等軟件。但是為了原生態(tài)的編譯安裝最新的軟件版本,我決定自己親手搭建lnmp環(huán)境,采用最新的nginx1.9.7(昨天...
摘要:將復(fù)制到容器中,這三個(gè)文件用于后續(xù)安裝擴(kuò)展。非常容易理解,這里定義了兩個(gè)服務(wù),依賴鏡像,并且將文件夾映射為文件夾,服務(wù)依賴服務(wù),并且服務(wù),這樣就能通過(guò)網(wǎng)絡(luò)與容器通信,服務(wù)基于鏡像,并將文件映射為文件。 環(huán)境部署一直是一個(gè)很大的問(wèn)題,無(wú)論是開(kāi)發(fā)環(huán)境還是生產(chǎn)環(huán)境,但是 Docker 將開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境以輕量級(jí)方式打包,提供了一致的環(huán)境。極大的提升了開(kāi)發(fā)部署一致性。當(dāng)然,實(shí)際情況并沒(méi)有這么...
摘要:將復(fù)制到容器中,這三個(gè)文件用于后續(xù)安裝擴(kuò)展。非常容易理解,這里定義了兩個(gè)服務(wù),依賴鏡像,并且將文件夾映射為文件夾,服務(wù)依賴服務(wù),并且服務(wù),這樣就能通過(guò)網(wǎng)絡(luò)與容器通信,服務(wù)基于鏡像,并將文件映射為文件。 環(huán)境部署一直是一個(gè)很大的問(wèn)題,無(wú)論是開(kāi)發(fā)環(huán)境還是生產(chǎn)環(huán)境,但是 Docker 將開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境以輕量級(jí)方式打包,提供了一致的環(huán)境。極大的提升了開(kāi)發(fā)部署一致性。當(dāng)然,實(shí)際情況并沒(méi)有這么...
閱讀 2445·2021-11-23 09:51
閱讀 3835·2021-11-11 10:57
閱讀 1487·2021-10-09 09:43
閱讀 2557·2021-09-29 09:35
閱讀 2075·2019-08-30 15:54
閱讀 1843·2019-08-30 15:44
閱讀 3249·2019-08-30 13:20
閱讀 1757·2019-08-30 11:19