Wordpress 如何配置nginx在同一台机器上运行apache和node js?
我想知道如何设置Wordpress 如何配置nginx在同一台机器上运行apache和node js?,wordpress,node.js,apache,nginx,Wordpress,Node.js,Apache,Nginx,我想知道如何设置nginx在同一台服务器上同时运行apache(lamp)和node.js 我不是一个精通服务器的人,但在过去的两周里,我学到了很多 我发现我可以通过以下HAProxy进行内容切换: 然而,由于我已经在使用nginx,我认为使用它会更好 有教程吗?或者提示?nginx、apache和node.js都是各自独立的服务器。它们是相互完全独立的原子实体 apache或nginx在node.js服务器前面作为代理服务器存在(非常常见)的情况。因此,您将在同一台机器上同时运行两台服务器。需
nginx
在同一台服务器上同时运行apache(lamp)和node.js
我不是一个精通服务器的人,但在过去的两周里,我学到了很多
我发现我可以通过以下HAProxy
进行内容切换:
然而,由于我已经在使用nginx
,我认为使用它会更好
有教程吗?或者提示?nginx、apache和node.js都是各自独立的服务器。它们是相互完全独立的原子实体 apache或nginx在node.js服务器前面作为代理服务器存在(非常常见)的情况。因此,您将在同一台机器上同时运行两台服务器。需要注意的是,它们将在不同的端口上运行 nginx、apache和node.js很可能同时在同一台机器上运行,但它们必须在不同的端口上运行
但是你的问题“我如何设置nginx在同一台服务器上同时运行apache(lamp)和node.js”没有真正意义,因为nginx不“运行”apache或node.js。如果你有一个用PHP编写的站点,并且你想启用socket.io,你可以在80端口(默认HTTP端口)上绑定nginx,在8080端口上绑定apache,在3000端口上绑定node.js服务器(Apache和node可能有其他功能) 以下是nginx配置:
http {
#... some directives ...
map $http_upgrade $connection_upgrade { #required for websockets
default upgrade;
'' close;
}
#... some more directives ...
}
server {
listen 80;
server_name your-wordpress-site.com;
root /path/to/site/root;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php;
}
location /socket.io {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; #these two headers are ...
proxy_set_header Connection $connection_upgrade; #...required for websockets
}
location ~ \.php$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
location ~ /\.ht {
deny all;
}
}
因此,当请求URI以/socket.io
开头时,您只需要代理到节点
我从来没有使用过WordPress,所以我可以100%确定它在PHP端可以正常工作,但我用socket.io配置了nginx 100K次,它总是工作得很好
编辑
如果此配置不起作用,您可以尝试通过以下方式进行更改:
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
location /socket.io {
#paste here socket.io section from first example
}
location ~ \.(js|css|png|jpe?g|gif)$ {
root /path/to/site/root;
}
在上一个
位置
的RegExp中,您应该列出您希望nginx提供服务的所有静态文件的扩展名。这很有帮助。我的目的是要有一个wordpress站点和一个node.js/socket.io聊天插件。不过,此amazon服务器上不存在var/www文件夹。您描述的情况是两个不同的站点。@NetaMeta编辑了我的帖子。请看changes@NetaMeta再编辑一次。删除所有多余的文本。非常感谢,我正在尝试。不,不,运气不好,我认为我的问题比你的问题更基本。只需使用nginx。