PHP和NGINX分别部署在两台机器

PHP:虚拟机  CentOS  192.168.88.108
NGINX:物理机  Windows  192.168.88.1


 
前提①:两台机器能互相ping通。
前提②:两台机器都要有项目代码。(建议把物理机的项目文件夹挂载到虚拟机)



;;;;;;;;;; 虚拟机上的PHP-FPM配置文件:/php/etc/php-fpm.d/www.conf ;;;;;;;;;;

; 监听地址(IP地址可用0.0.0.0,这样就不用写死IP地址)
listen = 192.168.88.108:9000

; 仅允许处理指定IP客户端转发过来的请求,多个IP之间用半角逗号隔开,若要允许任意IP客户端可将本配置项注释或删除
listen.allowed_clients = 127.0.0.1,192.168.88.1



########## 物理机上的NGINX配置文件:/nginx/conf/nginx.conf ##########

# 处理PHP脚本的服务器(虚拟机)
upstream vm_centos_com_server {
    server 192.168.88.108:9000;
}

server {
    listen        80;
    server_name  vm.centos.com;

    # 站点根目录(物理机)
    root   "D:/wwwroot/vm.centos.com";

    location / {
        index index.php index.html error/index.html;
        error_page 400 /error/400.html;
        error_page 403 /error/403.html;
        error_page 404 /error/404.html;
        error_page 500 /error/500.html;
        error_page 501 /error/501.html;
        error_page 502 /error/502.html;
        error_page 503 /error/503.html;
        error_page 504 /error/504.html;
        error_page 505 /error/505.html;
        error_page 506 /error/506.html;
        error_page 507 /error/507.html;
        error_page 509 /error/509.html;
        error_page 510 /error/510.html;
        include D:/wwwroot/vm.centos.com/nginx.htaccess;
        autoindex  off;
    }

    # 站点根目录(虚拟机)
    set $project_document_root "/wwwroot/vm.centos.com";

    location ~ \.php(.*)$ {
        fastcgi_pass   vm_centos_com_server;
        fastcgi_index  index.php;
        fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
        fastcgi_param  SCRIPT_FILENAME  $project_document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $project_document_root$fastcgi_path_info;
        include        fastcgi_params;
    }
}

Copyright © 2025 码农人生. All Rights Reserved