Linux 配置 nginx + php

來源:互聯網
上載者:User

標籤:inf   php-fpm   分配   targe   網站   根目錄   script   注意   根據   

為什麼!!!我配過的伺服器已經有5、6個了吧,為什麼每一次配置都能要了我的老命??這次寫清楚過程,以後再要被配伺服器坑,我特麼要砍人了。

提示:測試網站能否訪問的時候,最好關掉瀏覽器的緩衝功能或者勤清瀏覽器的緩衝,以避免被緩衝坑!

 

1. nginx

mac上通過brew安裝nginx,萬事開頭容易,配置難。

找到nginx.conf,保持其所在檔案夾常年開啟不要關閉,因為後面還會經常來這個檔案夾找東西。

nginx.conf 內容參照 https://github.com/daylerees/laravel-website-configs/blob/master/nginx.conf 

注意上面只給出了server塊裡的內容,不過server塊以外的內容基本不用動。

還請注意 ‘location /’ 塊內的內容,這裡不推薦上文的配置,還請改成這個:

try_files   $uri /index.php?$query_string;

刪去了 “$uri/”。如果不刪去這一條,並且沒有開啟autoindex的話,直接存取一個目錄會導致HTTP 403,這在前期配置的時候會造成不必要的困擾。

 

除此之外最好啟用error.log,相應配置應該在檔案的開頭。

同時也請常年開啟nginx的 error.log 所在檔案夾,判斷問題的時候也會經常用到。

 

2. php-fpm

這玩意相當於運行php的伺服器,總之如果你的網站想運行php檔案的話,php-fpm 和 nginx 都得保持在後台運行。

安裝不多說,根據平台尋找自己合適的方案。

也請找到這玩意的設定檔並常年開啟。

修改user及group。

 

這玩意本身沒什麼坑的配置之處,主要還是得看nginx調用這玩意的那部分配置是否正確。

回到nginx.conf。

找到 location ~* php 啥啥啥的塊。

這裡有幾個配置非常重要

1 fastcgi_pass                    unix:/var/run/php5-fpm.sock;2 fastcgi_index                   index.php;3 fastcgi_split_path_info         ^(.+\.php)(.*)$;4 include                         /etc/nginx/fastcgi_params;5 fastcgi_param                   SCRIPT_FILENAME $document_root$fastcgi_script_name;

 

第1行,告訴nginx去哪裡找php-fpm服務。這個得看你的php-fpm 是什麼樣的,有的通過如上所示的sock進行通訊,有的通過127.0.0.1:9000(一般情況下)進行通訊,請搞清楚你的php-fpm用的那種方案並修改這一行。

第4行,這裡需要include 一個叫 fastcgi_params 的檔案,應該和 nginx.conf 在一個檔案夾下,路徑填正確就行。

配置完後重啟各個服務,再試試應該可以正常使用了。

 

下面貼出訪問網站時可能遇到的問題及解決思路

1. 500 Internal Server Error

一般是php部分執行的時候出錯了,翻看php-fpm 的error log以定位錯誤。

 

2. 403 Forbidden

可能是訪問了一個檔案夾,但是又沒有開啟autoindex(自動列出檔案夾下的所有內容),於是被nginx禁止。

有可能在訪問網站根目錄時出現這個情況,請檢查 ‘location /’ 塊內的tryfiles又沒有刪去 "$uri/"。

 

3. 502 Gateway Error

nginx找不到php-fpm 服務,可能是php-fpm沒開或者 ‘location php’ 塊內的 fastcgi_pass 未正確填寫。

Linux 配置 nginx + php

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.