在Nginx的nginx.conf 配置访问PHP&遇到的问题+解决

一、前言

首先你需要先安装Nginx和PHP,如果你不会安装Nginx和PHP可以在网上找,或者在我的文章里面找。安装完成之后,开启Nginx的端口号,还必须验证是否成功,如果成功之后,你就可以继续后面的步骤,在Nginx中配置PHP。

二、配置

1.  修改php-fpm配置文件(前提是你安装了php-fpm扩展,在我的文章安装PHP中有说明)

vim /etc/php/5.6/fpm/pool.d/www.conf

 2.找到以下行并取消注释(删除前面的分号):

listen = /run/php/php5.6-fpm.sock

 确保其值为对应用户和组:

  3. 保存并退出配置文件。然后重新启动 PHP-FPM 服务:

重启

systemctl restart php5.6-fpm

4. 如果你不知道Nginx的安装目录,通过如下命令找到安装Nginx的目录

whereis nginx

 

5. 切换到nginx的安装目录

cd /usr/local/nginx/

6. 找到nginx的配置文件,一般在conf文件夹

 7. 切换到nginx配置文件夹中

cd conf/

 8. 找到nginx.conf文件

9. 打开这个配置文件

vim nginx.conf/

 10. 修改配置如下

注:修改nginx的配置的时候,应该先停止nginx

#修改
    server {
    #监听的端口号
    listen       8081;
    # 这里改动了,也可以写你的域名
    server_name  localhost;
    # 设置访问的目录
    root         /var/www/html;
    # 这里改动了 定义首页索引文件的名称
    index index.php index.html index.htm;
    error_page 404 /404.html;
        location = /40x.html {
    }
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
    # 这里新加的
    # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
    # Fastcgi服务器和程序(PHP,Python)沟通的协议.
   location ~ \.php$ {
            fastcgi_pass   unix:/run/php/php5.6-fpm.sock; # 根据 PHP-FPM 的配置进行调整
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
            include        fastcgi.conf;
        }

    }
}

 说明:fastcgi_pass   unix:/run/php/php5.6-fpm.sock;为什么我的配置是这样的,而有些博客配置是这样的fastcgi_pass   127.0.0.1:9000;这是由于需要你自己根据php-fpm的配置来决定的,在最前面(第2步,我放开了listen = /run/php/php5.6-fpm.sock)我配置PHP-FPM,因此这里的fastcgi_pass  就配置listen的路径(需要根据你自己的来配置,unix:/run/php/php5.6-fpm.sock;,需要加unix),反之如果listen是端口号就配置127.0.0.1:9000

11. 查看修改后的Nginx配置文件是否有误

/usr/local/nginx/sbin/nginx -t

如果出现了ok和successful,就代表修改的配置文件没有问题。

12.重新启动Nginx

/usr/local/nginx/sbin/nginx

重新加载Nginx服务

/usr/local/nginx/sbin/nginx -s reload

13. 新建一个PHP文件

vim /var/www/html/test.php

输入内容如下,保存并退出

<?php
phpinfo();  
?>

14. 测试,浏览器输入ip+端口号/test.php,出现了这个问题:

三、遇到的问题

其实刚开始我安装号PHP和Nginx,并按照网上的方式配置php,但是并不能出现PHP的详情页面。而是如下页面。

 这个时候你就需要去检查nginx的错误日志了,一般是在nginx的安装目录下有个logs文件夹,在里面就可以找到error.log日志查看报错信息。如下所示:

我当时的错误如下:

2023/08/06 07:12:05 [crit] 500591#0: *99 connect() to unix:/run/php/php5.6-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 110.185.79.8, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php5.6-fpm.sock:", host: "122.226.136.13:8081"

解决方法:修改 php-fpm.conf 修改成如下所示:

vim /etc/php/5.6/fpm/pool.d/www.conf

 修改之后,需要重启php-fpm服务

systemctl restart php5.6-fpm

再次在浏览器访问之前ip+端口号/test.php,就成功了。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ngx_php功能是为nginx模块嵌入php脚本语言。别名为php-nginx-module。 特性 * 支持加载php.ini配置文件 * 支持原生php的全局变量$_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_SESSION... * 支持运行php代码与文件 * 支持RFC 1867文件上传协议 * 支持php错误输出 * 支持加载与运行PECL扩展 * 支持nginx的API在php中调用 环境 - PHP 5.3.*     PHP 5.4.*     PHP 5.5.*     PHP 5.6.* - nginx-1.4.7     nginx-1.6.3     nginx-1.8.1     nginx-1.9.15 安装 git clone https://github.com/rryqszq4/ngx_php.git wget 'http://nginx.org/download/nginx-1.6.3.tar.gz' tar -zxvf nginx-1.6.3.tar.gz cd nginx-1.6.3 export PHP_BIN=/path/to/php/bin export PHP_INC=/path/to/php/include/php export PHP_LIB=/path/to/php/lib ./configure --user=www --group=www \             --prefix=/path/to/nginx \             --with-ld-opt="-Wl,-rpath,$PHP_LIB" \             --add-module=/path/to/ngx_php/dev/ngx_devel_kit \             --add-module=/path/to/ngx_php 概要 user www www; worker_processes  4; events {     worker_connections  1024; } http {     include       mime.types;     default_type  application/octet-stream;     keepalive_timeout  65;          client_max_body_size 10m;        client_body_buffer_size 4096k;     php_ini_path /usr/local/php/etc/php.ini;     server {         listen       80;         server_name  localhost;              location /php {             content_by_php '                 echo "hello ngx_php";             ';         }     } } 标签:ngxphp

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值