我知道这里或网上都有类似的问题或演练,尽管我坚持这一点。
背景
我正在尝试设置一个本地虚拟主机ghost.local,其中将有一个ghost博客(在Node.js上)。所以我想,当我在我的Ubuntu 14.04机器上访问http://ghost.local时,Nginx会将请求传递给Node.js,我将能够看到我的幽灵博客。
问题
我已经设置了 hosts 文件我设置了nginx vhosts我的ghost在Node.js上运行。虽然当我访问http://ghost.local时,我得到了
503服务不可用无法解析服务器名称ghost.local
我的主人档案:
127.0.0.1 ghost.local
127.0.0.1 localhost
我的/etc/nginx/sites-available/ghost.local文件:
server {
listen 80;
server_name ghost.local;
access_log /var/log/nginx/ghost.local.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header HOST $http_host;
proxy_pass http://localhost:2368;
proxy_redirect off;
}
}
/etc/nginx/sites-enabled/ghost.local中的链接设置正确。
我没有发布任何来自ghost或node.js的内容,因为在http://localhost:2368上启动并运行一切正常。
任何人都有意见吗? 提前谢谢大家。
修改 正如我在评论中提到的,问题很可能是在我的机器上设置上述配置在新机器中工作。
答案 0 :(得分:0)
首先,它似乎安装了错误版本的nginx。您是否自己安装了它,如果是这样,您应该使用最新版本重新安装nginx。
其次,如果您的网站位于http://ghost.local,我感到很困惑?
因为server_name
应该是您网站的子/域,所以她就是一个例子:
server_name www.example.com example.com test.example.com;
网站的基本nginx配置
server {
listen 80;
server_name example.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
}
server {
listen 80;
server_name www.example.com;
return 301 http://example.com/$request_uri;
}
确保重新启动nginx。
service nginx restart