nginx支援php和thinkphp

來源:互聯網
上載者:User
data-id="1190000005042321" data-license="cc">

遇到問題

在linux-mint下安裝完nginx後,當然要支援php才能真正工作。可是嘗試了很久都沒有成功(以前很容易就成功了),原來是php-fpm支援方式發生了變化,我以前用的方法早已經過時了。

詳細過程

nginx無論是用apt方式還是用編譯方式都不麻煩,所以直接記錄php-fpm的配置。
按照以前的思想,php-fpm工作在127.0.0.1:9000連接埠上,我直接配置後卻出現了502 Bad GateWay頁面。
查看nginx記錄檔,發現錯誤是無法串連到本機9000連接埠。於是尋找php-fpm.conf,在其兄弟檔案夾pool.d下發現www.conf,關鍵一句開啟是這樣的listen = /var/run/php5-fpm.sock,通過查閱資料得知php-fpm有兩種工作方式,一種是利用tcp,另一種直接使用socket,scoket的方式會更快。因此,nginx下的配置fastcgi_pass 127.0.0.1:9000;的方式顯然不支援socket方式。所以,只需要將其更改為fastcgi_pass unix:/var/run/php5-fpm.sock;以後,nginx就可以正常工作了。

支援thinkphp

對thinkphp的支援其實主要是對.htaccess檔案的支援,主要是為了去掉indexphp。實現有兩種方式,其中一種是直接引入include $path/.htaccess,另一種是修改 location / {},但是apache和nginx的.htaccess檔案文法不同,在nginx下正確的配置是

    location / {        if (!-e $request_filename) {               rewrite  ^(.*)$  /index.php?s=$1  last;               break;        }

其他

  • 多網站支援可以連續寫也可以各自寫在相應的server.conf中。

  • 多網域名稱和子網域名稱配置時支援連寫server_name www.adc.com lol.adc.com也支援萬用字元*.adc.com

以上就介紹了nginx支援php和thinkphp,包括了方面的內容,希望對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.