问题
我正在尝试设置nginx,以便我可以让我的域domain.com
由端口3000上的节点Web应用运行,子域dev.domain.com
由第二个节点Web应用运行在端口3001.当我运行此配置时,domain.com
已连接到正确的端口,但dev.domain.com
只是提供了一个页面,表明服务器无法访问。
修改
如果我转到IP_ADDRESS:3000
,我会收到与domain.com
相同的内容,但如果我转到IP_ADDRESS:3001
,我会得到dev.domain.com
的内容。基于此,似乎应用程序在正确的端口上正常运行,我只是没有正确路由子域。
代码
我直接编辑了/etc/nginx/sites-available/default
,所以它有:
server {
listen 80 default_server;
server_name domain domain.com www.domain.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
server {
listen 80;
server_name dev.domain dev.domain.com www.dev.domain.com;
location / {
proxy_pass http://127.0.0.1:3001;
}
}
除了该文件外,其他所有内容都是全新安装
我的逻辑
我对nginx很新,但似乎domain.com
的所有请求都会发送到端口3000,dev.domain.com
的请求会转到3001。
对我迄今所做的任何帮助或批评都将不胜感激!
答案 0 :(得分:3)
以上设置正常。我的问题是DNS记录 - 我添加了一条A记录,指示dev.domain.com
到我正在运行节点应用程序的服务器的IP地址。
答案 1 :(得分:1)
面对相同的问题,并通过以root用户创建文件来解决了该问题:
drwxr-xr-x 6 gitlab-runner gitlab-runner 4096 Sep 12 06:56 .
drwxr-xr-x 4 root root 4096 Sep 12 06:57 ..
-rw-r--r-- 1 root root 11 Sep 12 06:54 .env
-rw-rw-r-- 1 gitlab-runner gitlab-runner 599 Sep 12 06:56 app.js
如果要使用gitlab-runner
命令从rm -Rf
删除此文件夹中的所有文件和目录,它将删除.env
以外的所有文件
这只是快速解决方法,可能会有用。