有2种模式:
1、代理转发proxy_pass
本机测试,必须搭配其他服务器比如apache才能正常工作
location ~ \.php$ {
proxy_pass http://127.0.0.1:8080;//这就是反向代理,看似是该服务器的资源,实质是其他服务器的资源,8080端口在apache服务器开启
}
2、fastcgi
支持其他语言的动态脚本(cgi的特点),本机测试使用php,不需要安装apache等其他服务器
备注:fastcgi模式依赖于cgi独立进程,在这里列出php-cgi和php-fpm两种cgi进程管理工具,二选一即可。
php-cgi的nginx配置:
location /fastcgi {
include fastcgi.conf;
#将url指定到某个php文件处理
fastcgi_param SCRIPT_FILENAME /var/www/fastcgi.php;
#提前用进程管理工具php-cgi监听自定义端口8000
#监听命令:php-cgi -b 127.0.0.1:8000 -c php.ini
fastcgi_pass 127.0.0.1:8000;
}
php-fpm的nginx配置:
location /fastcgi/socket{
include fastcgi.conf;
#将url指定到某个php文件处理
fastcgi_param SCRIPT_FILENAME /var/www/fastcgi-socket.php;
#提前在php-fpm配置文件中设置在10086号端口监听,并启动php-fpm
fastcgi_pass 127.0.0.1:10086;
}