所以我使用this stackoverflow answer尝试设置我的本地(在osx上)nginx服务器,让我的node.js网站成功发布到127.0.0.1:3000,以便在我的my_url.org上显示浏览器。它不起作用。
这是我的nginx服务器:我已经在nginx.conf文件中直接尝试了这个,并作为我在sites-available文件夹中创建的单独文件,然后创建了指向sites-enabled文件夹的链接(按回答如上所述)
upstream app_name {
server 127.0.0.1:3000;
keepalive 8;
}
server {
listen 0.0.0.0:80;
server_name my_url.org my_url;
access_log /usr/local/var/log/nginx/my_url.org.log;
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://app_name/;
proxy_redirect off;
}
}
一些线索:
sudo nginx -t
告诉我这样,我在nginx.conf文件中有一个单独的服务器在端口8080上正确通过。sudo nginx -s reload
。 listen 80;
和listen 0.0.0.0:80
同样缺乏成功。include /usr/local/etc/nginx/sites-enabled/*;
。当我在nginx.conf文件中有上述代码时,我会注释掉该行。我假设我错过了一些明显但却错过的东西。任何帮助都非常感激。
答案 0 :(得分:2)
你必须在你的hosts文件中指向my_url.org
到127.0.0.1(与linux和linux一样,它应该在/etc/hosts
中)。
否则您的浏览器无法重定向到您的本地服务器。
(我在评论中回答说,在这里向未来的开发者提出同样的问题。)