2019-07-17
环境要求
系统:centos 7(最好更新到最新版本、内核)
架构:nginx+php5.6+redis+mysql5.7
问题
网站使用的是tinkphp,搭建测试环境时,遇到许多问题,此处记录一下nginx配置导致的一些问题
环境搭建完成之后(配置未做任何修改之前),代码放置网站目录下,浏览器访问报错,file not found,即404错误,经排查属于nginx未开启重定向导致
解决方案
修改nginx配置文件
server { listen 80; server_name localhost; root /usr/share/nginx/html; index index.php index.html index.htm; location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } }
以上红色字体,为修改部分
注释:root、index两行最好是放在server{ }里面,这样配置是为了root、index能在server{ }内生效,假如将root、index放在location ~ \.php(.*)$ { }内,则只在location ~ \.php(.*)$ { }内生效