在linux-mint下安裝完nginx後,固然要支持php才能真正工做。但是嘗試了好久都沒有成功(之前很容易就成功了),原來是php-fpm支持方式發生了變化,我之前用的方法早已通過時了。php
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,socket的方式會更快。所以,nginx下的配置fastcgi_pass 127.0.0.1:9000;
的方式顯然不支持socket方式。因此,只須要將其更改成fastcgi_pass unix:/var/run/php5-fpm.sock;
之後,nginx就能夠正常工做了。linux
對thinkphp的支持其實主要是對.htaccess文件的支持,主要是爲了去掉index.php。實現有兩種方式,其中一種是直接引入include $path/.htaccess
,另外一種是修改location / {}
,可是apache和nginx的.htaccess文件語法不一樣,在nginx下正確的配置是nginx
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; }
多站點支持能夠連續寫也能夠各自寫在相應的server.conf中。thinkphp
多域名和子域名配置時支持連寫server_name www.adc.com lol.adc.com
也支持通配符*.adc.com
apache