在过去的一年里,我参与了一个由三台机器组成的复杂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网站吗?
答案 0 :(得分:1)
通常在同一台计算机上运行nginx
和php-fpm
只是因为大多数应用程序都具有静态内容以及在同一文档根目录中并置的动态内容。
但是如果你的应用程序只是动态的(只有PHP文件),那么前端nginx
实例就能够使用FastCGI覆盖到后端php-fpm
实例。 TCP / IP。