nginx 配置文件
正确配置Nginx+php
- 一般情况网页报502 很大可能是配置文件出错了,最大可能是fastcgi_pass unix:这个参数错误。
所以直接去找php fpm下面的www.conf里面的listen
/etc/php/5.6/fpm/pool.d/www.conf
或者是/etc/php/7.0/fpm/pool.d/www.conf 具体在哪里看你怎么装
如果Listen是端口就写127.0.0.1:9000;
如果Listen是路径,nginx的配置文件也要写路径,unix:/run/php/php5.6-fpm.sock;或者/run/php/php7.0-fpm.sock; 反正里面是什么就填什么。
- 补充 一般上面就可以,如果还没好,去看nginx日志 /var/log/nginx/error.log 查看报了什么错 再做分析
- php-fpm没有运行
执行如下命令查看是否启动了php-fpm,如果没有则启动你的php-fpm即可
netstat -ant | grep 9000
- php-fpm队列满了
php-fpm.conf(/etc/php/7.0/fpm/php-fpm.conf)配置文件pm.max_children修改大一点,重启php-fpm并观察日志情况
nginx 接入tp项目 配置文件
如果出现404 找不到页面的问题是因为服务器不支持重写。不支持tp框架的pathinfo这套东西。
# --start--- TP5加上这一块 支持pathinfo
location /{
index index.html index.htm index.php;
if (-e $request_filename) {
break;
}
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
# --end--- TP5加上这一块 支持pathinfo