配置Nginx来支持PHP

人工手动安装好了LNMP环境,但在网站上打开php网页都变成了下载。研究了一下,原来是Nginx还没配置好以支持php。

修改Nginx的配置文件

我的Nginx安装目录是 /usr/local/nginx,切换到该目录:

cd /usr/local/nginx

打开nginx.conf配置文件:

vim conf/nginx.conf

在配置文件里面看到一段被注释掉的话:

        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

去掉注释,再根据实际的网站根目录修改一下:

        location ~ \.php$ {
            root           /home/html; #这是我的网站根目录
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

注意 fastcgi_pass 127.0.0.1:9000; 这一行,我们现在进入php的配置文件里确认php是不是使用这个端口,因为有些版本,如lnmp.org的版本,他们用的是socket。端口不一致将会出现 502 Bad Gateway 错误。

确保和PHP的端口一致

我的PHP安装目录是 /usr/local/php/ ,切换到该目录:

cd /usr/local/php/

再进入配置文件目录:

cd etc/php-fpm.d
vim www.conf

在里面可以看到监听的端口为:

listen = 127.0.0.1:9000

在这里插入图片描述
可以看到是一致的。

如果是lnmp.org的版本,他们的是 listen = /tmp/php-cgi.sock 。如果是这样,就要把Nginx配置里面 fastcgi_pass 对应的值改成 unix:/tmp/php-cgi.sock

重启一下Nginx,使配置生效:

cd /usr/local/nginx
sbin/./nginx -t  #检查配置文件是否正确
sbin/./nginx -s reload #重启

注意路径问题

然后打开网站,出现了新错误,网页显示“File Not Found”。

出现这个错误是因为路径配置错误。打开Nginx的配置文件,修改下面这个路径即可:

#fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;         

在这里插入图片描述
再次reload Nginx,打开网站的phpinfo()测试文件,成功!
在这里插入图片描述

其他注意事项

如果Nginx有配置ssl,记得在配置ssl的代码块里也加入上面那段代码:

    server {
        listen       443 ssl;
        server_name  linxianzhan.cn;

        ssl_certificate      /usr/local/nginx/cert/server.crt;
        ssl_certificate_key  /usr/local/nginx/cert/server.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   /home/html;
            index  index.html index.htm;
        }

        location ~ \.php$ {
            root           /home/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

    }

在这里插入图片描述

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值