nginx tp5.* 配置,解決首頁訪問正常,其他請求(404,500)問題

 tp5項目在本地測試通過,但是上傳到linux服務器上面的時候出現各種問題,折騰了兩天終於解決,做個記錄。

環境:烏班圖 / nginx / php7.0 / thinkphp5.1

nginx安裝方式未知(別人的服務器),安裝後配置信息在/etc/nginx/sites-enable/default文件中,當然這個配置文件有很多種情況,有的是vhost,也有的是直接在nginx.conf(因機而已吧)。

下面是配置文件主要信息;

root 地址指向項目目錄/public,看到有些網友說盡量不要指向public文件夾,但是也沒說明具體原因,當然這也是我的知識盲區(畢竟nginx新手)。

下面是我的配置信息,僅僅做個參考吧。

注意:1.需要在php.ini中開啓fix_pathinfo=1;去掉前面的分號註釋。

           2.debug方式:查看nginx日誌(error.log),雖然有些問題提示依舊找不到原因,但至少提供一個方向。

註釋比較少,後面補充解釋各個語句

 root /var/www/html/**/public; // ** 項目目錄名稱
 location / {

        try_files  $uri $uri/ /index.php?$query_string;
            
        if (!-e $request_filename) { 
           rewrite  ^(.*)$  /index.php?s=/$1 last; // 定義重寫規則,參考tp5完全開發手冊
           break;
        }

  }

 location ~ \.php(.*)$ {

        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PHP_ADMIN_VALUE   "open_basedir=/var/www/html/**/:/tmp/:/proc/";         //**指項目目錄,注意替換
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        include        fastcgi_params;

    }

附贈:用到的linux命令有

find / -name *** :查找/目錄下的***文件

mv *** *** 移動文件/重命名

/usr/sbin/nginx -s reload 或者service nginx restart 重啓nginx

php -m 查看PHP安裝的拓展項目

vim中,i進入insert編輯模式,:wq編輯並保存,:q!保存退出,/查找


       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章