参考:
https://blog.csdn.net/m0_52985087/article/details/132133109
nginx配置:
server {
listen 80;
server_name backtest.snjl.site backtest.shusnjl.cn;
location ~ \.php$ {
root /var/www/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
php需要启动php-fpm,如果是7.4版本,是php7.4-fpm,如果没有,使用apt install php后,使用service php7.4-fpm start,修改端口为9000:
到路径/etc/php/7.4/fpm/pool.d,修改文件www.conf里的
listen = 127.0.0.1:9000
;listen = /run/php/php7.4-fpm.sock
原来是/run/php/php7.4-fpm.sock,修改为127.0.0.1:9000,重启php7.4-fpm。
NGINX下运行PHP的程序时返回200访问却是空白页问题的解决方法
参考:https://www.cnblogs.com/lgms2008/p/8338153.html
由于nginx与php-fpm之间的一个小bug,会导致这样的现象: 网站中的静态页面 .html 都能正常访问,而 .php 文件虽然会返回200状态码, 但实际输出给浏览器的页面内容却是空白。 简而言之,原因是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析, 相当于php-fpm接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果。 为了解决这个问题,需要改动nginx默认的fastcgiparams配置文件: vi /etc/nginx/fastcgi_params 在文件的最后增加两行:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
Nginx+PHP-fpm 出现 Primary script unknown 错误解决
参考:https://www.jb51.net/article/168244.htm
https://blog.csdn.net/weixin_43025071/article/details/90697889
错误解决方法:
在Nginx配置文件中找到定义调用脚本文件的地方,如:
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
修改成如下方式($document_root):
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
提示:$document_root 代表当前请求在root指令中指定的值。如:
location / {
root /usr/local/nginx/html;
index index.php index.html index.htm;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;