非常慚愧的說,由於之前一直使用的是windowservice,安裝apache來進行伺服器佈置的,這種方式也是最簡單最直接的方式, 但是由於php的服務大多都是linux棧的,咱們也不能落後呀,在寫了php半年之後,開始擁有的自己的第一臺centos的伺服器, 實話說,centos真的是簡潔,部署完 ...
非常慚愧的說,由於之前一直使用的是windowservice,安裝apache來進行伺服器佈置的,這種方式也是最簡單最直接的方式,
但是由於php的服務大多都是linux棧的,咱們也不能落後呀,在寫了php半年之後,開始擁有的自己的第一臺centos的伺服器,
實話說,centos真的是簡潔,部署完成 php ,mysql,nginx,ftp之後只是使用的1g的空間,伺服器開啟的時候cpu占用率還不到3%【1核1G20g最低配伺服器】
原本是想先把這個伺服器當做api伺服器來使用,於是選用的了(傳說中適合api 的 thinkphp 框架)
一起準備就緒,選擇最新的穩定版tp5,下載,配置功能變數名稱,文件入口,隱藏路徑……
寫完第一個controller 發現,卧槽,
404了?
仔細閱讀文檔,沒毛病呀
tp5已經預設url_model是相容模式了呀,為什麼還是訪問不到呢?
萬能的百度讓我發現很多人都是這種問題,但是 很多都是tp5以前的版本,配置文件寫起來不一致,錯誤了n次
於是自己找文件,仔細閱讀:
參考文獻:http://www.9958.pw/post/nginx_config
重點
我發現:
由於nginx不支持pathinfo導致在thinkphp使用
訪問的時候會出現404錯誤,
這個時候你要看看自己的nginx的config文件
location ~ \.php${ fastcgi_psaa 127.0.0.1:10000; include fastcgi.conf }
這是我的config文件
配置也是極其簡單,這個時候我們要逐步的改這個配置文件
先貼最終的 文件【註意:不要直接複製粘貼】
location ~ \.php/?.* { fastcgi_pass 127.0.0.1:10000; fastcgi_index index.php; set $path_info ὀ~\ὀ~]; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ ὀ~\^(.+?\.php)(/.+)$ὀ~]) { set $real_script_name $1; set $path_info $2; } fastcgi_param SCRIPT_FILENAME /www_amiku_cn$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; include fastcgi.conf; }
首先
把
location ~ \.php${
改為
location ~ \.php/?.* {
這樣,用url在訪問您的網站的時候就能夠識別所有的網址
接下來
fastcgi_psaa 127.0.0.1:10000;
這一句要大家根據自己的埠號來填寫,不需要改,切記不要隨意複製粘貼
接著在你原有的配置中刪除其他項
替換成pathinfo及地址匹配方法
set $path_info ὀ~\ὀ~]; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ ὀ~\^(.+?\.php)(/.+)$ὀ~]) { set $real_script_name $1; set $path_info $2; } fastcgi_param SCRIPT_FILENAME /www_amiku_cn$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info;
最後,
把原本的include的方法補上【註意】
【註意】在include的的時候註意要確認自己的文件名稱
我這裡的是
fastcgi.conf
有些人的是
fcgi.conf
是不一樣的,註意不要填錯
接著:wq保存修改
reload 一次即可
這樣thinkphp在nginx環境下就能正常訪問及debug了
最後附上nginx去掉index.php的方法
同理,載入nginx.conf的location後面即可
if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; }
最後:感謝大神的參考資料:http://www.9958.pw/post/nginx_config