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