相关推荐recommended
nginx配置支持PHP
作者:mmseoamin日期:2024-04-27

前言 

        Nginx是通过php-fpm来通信的,所以需要修改的监听9000端口。

        当 Nginx 配置支持 PHP 时,它可以将 PHP 请求转发给 PHP-FPM,由 PHP-FPM 处理请求并返回结果。

        要配置 Nginx 支持 PHP,你需要在 Nginx 配置文件中添加一个 location 块,用于处理以 .php 结尾的请求。同时,你还需要设置一些必要的参数,如 fastcgi_param 和 fastcgi_pass,以确保 PHP-FPM 正常工作。

        在添加完配置后,你需要重新加载 Nginx 配置文件以使其生效。

        这样,当你访问一个以 .php 结尾的网页时,Nginx 将请求转发给 PHP-FPM,由 PHP-FPM 处理该请求并返回结果给 Nginx,最后将结果返回给客户端。

目录

1 关闭防火墙和selinux

 1.1 关闭防火墙

 1.2 关闭selinux

2 生成配置文件

3 安装php-fpm

4 修改默认用户

5 创建目录

6 创建.php结尾文件

7 重新启动php-fpm和nginx

8 测试


1 关闭防火墙和selinux

 1.1 关闭防火墙

systemctl stop firewalld

永久关闭防火墙

systemctl disable firewalld

 1.2 关闭selinux

setenforce 0

修改配置文件 

vi /etc/selinux/config

 #将SELINUX=enforcing修改为SELINUX=disabled。 

nginx配置支持PHP,第1张

2 生成配置文件

在/etc/nginx/conf.d/下面生成一个配置文件admin.conf【可以随意取,但必须是.conf结尾】

配置默认的server段和location段

vi /etc/nginx/conf.d/admin.conf

 写入如下内容:

server {
listen 80;
server_name www.test.com admin.test.com;
root /var/www/card/public;  
index  index.php index.html index.htm;
location / {
            if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/ last;
break;
        }
}
        location ~ \.php$ {
            root         /var/www/card/public;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
}

3 安装php-fpm

yum -y install php-fpm

nginx配置支持PHP,第2张

4 修改默认用户

vi /etc/php-fpm.d/www.conf

搜索Apache

:/apache

默认启动的是Apache的用户,这里将apache修改为nginx

修改前:

nginx配置支持PHP,第3张

修改后:

nginx配置支持PHP,第4张

5 创建目录

刚才我们写入文件内容的主目录是/var/www/card/public,所以2我们要创建一下

创建目录(连续创建目录mkdir -p)

mkdir -p /var/www/card/public

6 创建.php结尾文件

cd /var/www/card/public
vi php_info.php

【必须是以.php结尾】

写入如下内容:(网页代码)






7 重新启动php-fpm和nginx

重新启动php-fpm

systemctl restart php-fpm

 验证:

查看端口(9000)开启情况

先安装lsof

yum -y install lsof

nginx配置支持PHP,第5张

查看

lsof -i:9000

nginx配置支持PHP,第6张

重新启动nginx

systemctl restart nginx

8 测试

浏览器访问验证

IP地址+/php_info.php

nginx配置支持PHP,第7张

成功!