我在运行Ubuntu 12.04的新服务器上设置Nginx.这是我到目前为止所做的:
>已安装的Nginx:
aptitude -y install Nginx
rm /etc/Nginx/sites-enabled/*
>添加了我自己的vhost配置:
mv myapp.conf /etc/Nginx/sites-enabled/
>开始使用Nginx:
service Nginx start
vhost文件看起来像这样:
upstream unicorn_server {
server unix:/tmp/APP_NAME.sock fail_timeout=0;
}
server {
listen 80 default deferred;
client_max_body_size 4G;
server_name _;
keepalive_timeout 5;
access_log /var/log/Nginx/APP_NAME.access.log;
root /var/www/APP_NAME/current/public;
# auth
try_files $uri/index.html $uri.html $uri @app;
location @app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn_server;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /var/www/APP_NAME/current/public;
}
}
我可以确认Nginx正在运行:
service Nginx status
* Nginx is running
但是,我似乎无法访问它:
curl 123.456.789.0 # example IP
curl: (7) Couldn't connect to host
我还没有启动unicorn服务器,但这应该不是问题.如果Unicorn没有运行,我希望看到502错误.错误或访问日志中没有输出.我应该采取哪些措施来解决问题?
最佳答案
>在配置文件上运行Nginx -t
>检查日志文件 – 你指定的文件和Nginx写的可能的“默认”文件,如果它不能使用指定的文件,在加载配置之前,或者它是否感觉像,当然还有可能包含错误消息的全局日志
>停止Nginx,并手动启动它(即不使用init脚本)并查找输出.杀死你的Nginx然后使用init脚本启动它.
>检查netstat是否显示Nginx监听.如果没有,请不要打扰测试是否可以到达,找到原因.如果它正在侦听,请在本地测试它(wget)以查明Nginx或连接是否被破坏.
>如果它没有受伤(即机器上没有其他任何东西),请尝试重新启动它.
>检查日志文件 – 你指定的文件和Nginx写的可能的“默认”文件,如果它不能使用指定的文件,在加载配置之前,或者它是否感觉像,当然还有可能包含错误消息的全局日志
>停止Nginx,并手动启动它(即不使用init脚本)并查找输出.杀死你的Nginx然后使用init脚本启动它.
>检查netstat是否显示Nginx监听.如果没有,请不要打扰测试是否可以到达,找到原因.如果它正在侦听,请在本地测试它(wget)以查明Nginx或连接是否被破坏.
>如果它没有受伤(即机器上没有其他任何东西),请尝试重新启动它.
原文地址:https://www.jb51.cc/nginx/435407.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。