在不同的机器上配置php和nginx

时间:2016-01-18 18:42:04

标签: php ubuntu nginx

在过去的一年里,我参与了一个由三台机器组成的复杂Web应用程序。

机器1运行nginx。

机器2(11.22.333.32)(仅运行pm2 /节点)

机器3(123.123.11.00)(仅运行pm2 / node)

yoururl.com/canvas指向机器2并处理这些请求

yoururl.com/admin指向机器3并处理这些请求。

最近我的任务是将yoururl.com/account指向运行php的新机器4(222.11.56.32)

到目前为止我所做的是创建一个全新的ubuntu 14.04安装并执行以下命令:

apt-get install php5

apt-get install php5-fpm

然后我在机器4上的/ home中创建了一个index.php文件

我遇到的每个指南似乎都需要在同一台机器上使用nginx和php-fpm。我需要在机器4和php-fpm中运行nginx吗?我觉得这是不必要的,这就是为什么我要求你们帮助指导我在正确的方向上完成这个。以下是我的尝试,任何指导甚至链接到相关指南,将不胜感激

server {
    listen 80;
    listen [::]:80;
    server_name yoururl.com www.yoururl.com;
    client_max_body_size 10M;

    location /canvas {
        proxy_pass http://11.22.333.32:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    location /admin {
        proxy_pass http://123.123.11.00:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    location /account {

        index  index.html index.htm index.php;
        include /etc/nginx/fastcgi_params;

        fastcgi_param REQUEST_METHOD $request_method;
        fastcgi_param SCRIPT_FILENAME /home/index.php;
        fastcgi_pass  222.11.56.32:9000;
    }

}

还有一种方法可以在浏览器中访问http://222.11.56.32:9000并查看安装了php5 / phpfpm而不是nginx或apache的php网站吗?

1 个答案:

答案 0 :(得分:1)

通常在同一台计算机上运行nginxphp-fpm只是因为大多数应用程序都具有静态内容以及在同一文档根目录中并置的动态内容。

但是如果你的应用程序只是动态的(只有PHP文件),那么前端nginx实例就能够使用FastCGI覆盖到后端php-fpm实例。 TCP / IP。