在CentOS中,通过nginx访问php
其实是nginx反向代理到php-fpm,就像nginx反向代理到tomcat。
1、安装PHP-FPM
1.1 安装
yum install php
yum install php-fpm php-common
这里只安装了php-fpm,根据需要安装php模块,比如需要访问mysql则添加安装 php-mysqlnd。
1.2 启动
systemctl start php-fpm.service
systemctl enable php-fpm.service
2、配置Nginx反向代理到PHP-FPM
使用nginx的运行用户来运行php,比如nginx默认运行用户为nginx,则使用nginx来运行php,可以避免很多权限带来的问题。为了避免应用nginx和用户nginx混淆,假设nginx默认用户为 user007。
2.1 添加用户
如果使用nginx默认运行用户nginx,则跳过此步骤,后续user007替换成nginx即可。
groupadd user007
useradd -s /sbin/nologin user007 -g user007 -M
2.2 配置nginx运行用户
编辑配置文件, nginx在第一行设置用户:
vi /etc/nginx/nginx.conf
user user007;
worker_processes auto;
重启nginx服务:
systemctl restart nginx
2.3 配置php-fpm运行用户
编辑配置文件:
vi /etc/php-fpm.d/www.conf
user = user007
group = user007
重启服务:
systemctl restart php-fpm.service
2.4 配置nginx反向代理
创建应用配置文件:
vi /etc/nginx/conf.d/php-test.conf
server
{
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.php;
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}}
重新加载nginx:
nginx -s reload
3、测试
3.1 编辑首页
vi /usr/share/nginx/html/index.php
<?php
echo phpinfo();
?>
3.2 访问首页
访问 http://localhost: