Nginx作为Web服务器来讲,并不能处理动态请求,例如PHP网页,Nginx只能将请求转给PHP运行池,PHP运行池通过PHP解释器运行PHP语句。使用php-fpm(PHP FastCGI Process Manager: FastCGI进程管理器)
安装PHP-FPM
#安装运行环境
yum -y install gcc gcc-c++
#安装第三方软件源
yum -y install epel-release
#安装软件包
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
#安装包管理器组件
yum -y install yum-utils
#启用php7.3源
yum-config-manager --enable remi-php73
#安装PHP7需要的组件
yum -y install php php-mcrypt php-devel php-cli php-gd php-pear php-curl php-fpm php-mysql php-ldap php-zip php-fileinfo
#安装完了查看版本
php -v
#安装版本信息
PHP 7.3.33 (cli) (built: Dec 19 2022 14:30:27) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.33, Copyright (c) 1998-2018 Zend Technologies
#启动php-fpm,开机自启动
systemctl start php-fpm
systemctl enable php-fpm
PHP-FPM默认监听的FastCGI端口是9000 TCP
在Nginx上设置PHP运行池
server {
listen 80;
server_name php.nginx.test;
root /www/php.nginx.test;
index index.html index.htm index.php;
location ~ ^/.+\.php {
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
location ~* \.(js|css|jpg|gif|png|bmp|swf)$ {
expires 3d;
}
}
创建一个PHP脚本,位置放到你们设置的Nginx网站的位置,本教程在/www/php.nginx.test/下
<?php
echo("this is php website!");
?>
由于配置的域名实际并不存在,所以这里需要在hosts里面键入当前的域名,并重启Nginx服务
127.0.0.1 php.nginx.test
测试php网页是否正常,使用curl命令
curl http://php.nginx.test/index.php
查看测试结果
PHP 配置完成
评论