gpt4 book ai didi

javascript - 如何安装具有多个域的多个 nodejs 应用程序?

转载 作者:搜寻专家 更新时间:2023-10-31 23:18:41 24 4
gpt4 key购买 nike

这段时间我阅读的内容比以往任何时候都多,这将是我的第一个网页,所以我决定安装在 nodejs 上。我很快就制作了应用程序,并在 localhost:9000 中进行了测试

所以我想在 VPS 上运行更多的应用程序,我搜索信息,我有两个选择

首先使用nginx代理应用...

upstream example1.com {
server 127.0.0.1:3000;
}

server {
listen 80;
server_name www.example1.com;
rewrite ^/(.*) http://example1.com/$1 permanent;
}

# the nginx server instance
server {
listen 80;
server_name example1.com;
access_log /var/log/nginx/example1.com/access.log;

# pass the request to the node.js server with the correct headers and much more can be added, see nginx config options
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;

proxy_pass http://example1.com;
proxy_redirect off;
}
}

我不明白这个配置文件,因为我从来没有使用过 nginx,所以我搜索了第二个选项

使用来自 expressjs() 的 vhost

express()
.use(express.vhost('m.mysite.com', require('/path/to/m').app))
.use(express.vhost('sync.mysite.com', require('/path/to/sync').app))
.listen(80)

我正在使用 expressjs,我知道如何配置,但是有一些关于哪个是最好的选择的问题,因为使用 express() 我有一个应用程序管理多个应用程序,所以我认为这不是一个好的做法并且浪费资源.

来自 this帖子,David Ellis 说

如果您不需要使用 WebSockets(或者任何 HTTP 1.1 功能,真的),您可以使用 NginX 作为代理。

优点是 NginX 可以处理的总负载比 Node 更高(基本上是静态编译和专门用于这类事情),但是你失去了流式传输任何数据的能力(一次发送较小的 block )。

对于较小的站点,或者如果您不确定将来需要哪些功能,最好坚持使用 node-http-proxy 并且仅在您可以证明代理是瓶颈时才切换到 NginX你的服务器。幸运的是,如果您以后确实需要,NginX 并不难设置。

来自this帖子我读了一个例子来配置 xginx 与许多应用程序,但我不明白如何为我使用它

upstream example1.com {
server 127.0.0.1:3000;
}

server {
listen 80;
server_name www.example1.com;
rewrite ^/(.*) http://example1.com/$1 permanent;
}

# the nginx server instance
server {
listen 80;
server_name example1.com;
access_log /var/log/nginx/example1.com/access.log;

# pass the request to the node.js server with the correct headers and much more can be added, see nginx config options
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;

proxy_pass http://example1.com;
proxy_redirect off;
}
}

upstream example2.com {
server 127.0.0.1:1111;
}

server {
listen 80;
server_name www.example2.com;
rewrite ^/(.*) http://example2.com/$1 permanent;
}

# the nginx server instance
server {
listen 80;
server_name example2.com;
access_log /var/log/nginx/example2.com/access.log;

# pass the request to the node.js server with the correct headers and much more can be added, see nginx config options
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;

proxy_pass http://example2.com;
proxy_redirect off;
}
}

所以问题是最好的选择是使用 nginx 还是使用 vhost???

如果我必须使用 nginx 有任何教程如何配置 nginx 以服务于 Node js 上的许多应用程序???

全部发送

最佳答案

您的 Nginx 配置示例似乎正是您要找的。你应该在/etc/nginx/sites-available 下创建你的配置文件,然后为你想要启用的文件创建一个符号链接(symbolic link)到/etc/nginx/sites-enabled

也许这会对您有所帮助 - http://blog.dealspotapp.com/post/40184153657/node-js-production-deployment-with-nginx-varnish

关于javascript - 如何安装具有多个域的多个 nodejs 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14761132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com