参考:

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;