我有一个正在运行的服务localhost:5001
,我想让它通过默认端口从外部访问。为此,我在sites-avaiable
nginx 配置文件夹的文件夹中添加了以下配置文件:
server {
listen 80;
location / {
if (-f /var/www-data/hq/downtime) {
return 503;
}
proxy_pass http://127.0.0.1:5001/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 502 503 504 @maintenance;
location @maintenance {
# In this example, there's a directory in the site media files
# called "downtime" that contains a "maintenance.html" file and
# any styles and images needed for the maintenance page.
root /var/www-data/hq/static/downtime;
rewrite ^(.*)$ /maintenance.html break;
}
}
然而,执行后我得到的nginx -s reload
仍然是默认的 nginx 欢迎页面。
造成这种行为的原因是什么?我应该做哪些改变来解决这个问题?
答案1
你应该在以下位置创建上述配置文件的符号链接:已启用站点文件夹,以便 nginx 在启动/重启期间加载所有配置时将该配置文件包含在其配置中。
Nginx 仅包含以下配置文件:已启用站点文件夹。
您可以使用此命令
sudo ln -s /etc/nginx/sites-available/myconfigfile /etc/nginx/sites-enabled/myconfigfile
认为我的配置文件是您上面给出的配置文件。
然后,重新启动 nginx 。
sudo service nginx restart