我在我的Ubuntu 14.04 VPS上运行了一个node.js应用程序。 一切都已建立起来,从dns到Cloudfare再到pm2运行应用程序。
我遇到了冲突的Nginx配置文件问题。 我是新手,所以我不知道它是如何100%工作的。
进行一些谷歌搜索向我显示,使用nano编辑器可能会有.save
文件使其发生冲突,我检查过,情况并非如此。虽然我在/nginx/sites-available/
和/nginx/sites-enabled/
内有相同的文件。
这是名为default
的文件:
server {
listen 80;
server_name domainName.com;
location / {
proxy_pass http://MY-IP:3000/;
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;
}
}
每次我重新启动nginx时都会收到警告nginx: [warn] conflicting server name "domainName.com" on 0.0.0.0:80, ignored
。
这是我的nginx.conf
文件:
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
ls -al /etc/nginx/sites-enabled
的输出:
total 8
drwxr-xr-x 2 root root 4096 Aug 28 07:33 .
drwxr-xr-x 5 root root 4096 Aug 28 07:33 ..
lrwxrwxrwx 1 root root 34 Aug 28 07:33 default -> /etc/nginx/sites-available/default
ls -alh /etc/nginx/conf.d/
的输出:
total 8.0K
drwxr-xr-x 2 root root 4.0K Jul 12 06:35 .
drwxr-xr-x 5 root root 4.0K Aug 28 07:33 ..
我不知道还能做什么,任何帮助都会受到赞赏。
答案 0 :(得分:1)
要解决我的问题,我已将proxy_pass http://MY-IP:3000/;
更改为proxy_pass http://localhost:3000/;
上的/etc/nginx/sites-available/default
。
然后我使用sudo service apache2 stop
停止了Apache2,使用sudo service nginx restart
重新启动了nginx,并且完全正常。
显然我使用的是我的VPS的IP,而不是使用localhost作为地址。
答案 1 :(得分:0)
一旦您确认Nginx配置中的其他任何地方domainName.com
中没有使用server_name
,请寻找$hostname
或其他Nginx变量,其值可能与您的{{ 1}}:
Alphabetical index of Nginx variables
示例:
server_name
让我在那里困惑了一段时间。