一. 简述:
在Nginx中代理PHP请求通常涉及几个关键步骤,包括配置Nginx作为反向代理服务器、设置处理PHP请求的转发规则、确保PHP解释器正确安装并配置,以及测试功能是否正常。
二. 部署nginx :
1. 安装基础依赖:
#yum -y install build-essential libpcre3 libpcre3-dev \
zlib1g zlib1g-dev libssl-dev
2. 下载,编译安装nginx:
wget https://nginx.org/download/nginx-1.26.2.tar.gz
yum install -y pcre pcre-devel zlib-devel
./configure --prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module
make && make install
启动: /usr/local/nginx/bin/nginx
php安装,参考:https://blog.youkuaiyun.com/gujimoxiao/article/details/144795432?spm=1001.2014.3001.5501
3. 配置php支持:
#配置nginx的php网页
vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.php index.html index.htm;
}
location ~ \.php$ {
root 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 -s reload
配置测试接口, 通用的phpinfo:
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
4. 验证:curl 'http://127.0.0.1/index.php'
4. 配置systemctl:
# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# systemctl daemon-reload
# systemctl start nginx