我已经被困在这个部署错误上好几天了,求助!我们的项目是在部署cd到/ home / django / django_project目录的最后一步,并运行" fab deploy"。我们的项目错误在supervisorctl上启动my_app:gunicorn命令在我们的" fabfile.py"使用以下错误代码。:
"[555.555.55.555] out: my_app:gunicorn_my_app: ERROR (abnormal termination) "
以下是错误日志。
/home/django/django_project/deploy
:: Important configuration files in this directory **nginx.conf**
/etc/supervisor/conf.d
:: Important configuration files in this directory **my_app.conf**
/var/log/supervisor
:: Important error log files in this directory **supervisord.log**
"INFO spawned: 'gunicorn_my_app' with pid 11575
INFO exited: gunicorn_my_app (exit status 1; not expected)
INFO gave up: gunicorn_my_app entered FATAL state, too many start retries too quickly"
/var/log/nginx
:: Important error log files in this directory **error.log.1**
Error log: 2015/01/02 18:21:42 [emerg] 8780#0: invalid server name or wildcard "mydomain*.mydomain.com" on 0.0.0.0:80
我在nginx.conf文件中更改了服务器名称变量,但出于某种原因,在运行此命令时它尚未更新。
答案 0 :(得分:0)
我可能无法提供帮助,但我会把一些东西扔出去。
你还没有为nginx或gunicorn提供任何配置,这会有所帮助。也许你可以提供这些,以便别人可以看看它们?
从日志开始,似乎枪手正在尝试发射过程中的某个地方。也许配置错误可能会阻止服务器启动。如果你还没有这样做,那么值得检查你的配置是犹太洁食。
From the gunicorn configuration documentation:
要在使用命令行或配置文件时检查配置,可以运行以下命令:
$ gunicorn my_app:gunicorn_my_app --check-config
它还可以让您知道您的应用程序是否可以启动。
如果一切都恢复正常,那么你可以将其排除在外并进行深入研究。 Gunicorn有一个调试选项,可以让你详细看到究竟出了什么问题。文档说它可以使用--debug选项完成,如下所示:
$ gunicorn my_app:gunicorn_my_app --debug
希望这能让你更接近理解什么是什么。
我不知道您是否每次尝试启动服务器时都会收到nginx错误,但我会抓住我在错误中看到的内容日志中。
Nginx仅在名称的开头或结尾支持通配符服务器名称。
From the nginx documentation on server names:
通配符名称可能仅在名称的开头或结尾包含星号,并且仅在点边框上包含星号。名称“www。 .example.org”和“w .example.org”无效。但是,可以使用正则表达式指定这些名称,例如“〜^ www .. +。example.org $”和“〜^ w。 .example.org $”。星号可以匹配多个名称部分。名称“ .example.org”不仅匹配www.example.org,还匹配www.sub.example.org。
要监听mydomain * .mydomain.com,您可以在nginx.conf文件的服务器块中的server_name指令中使用正则表达式。
以下正则表达式将实现此目的:
^mydomain(\S*)\.mydomain\.com$
你可以把它放在你的nginx.conf中,如下所示:
server {
server_name ~^mydomain(\S*)\.mydomain\.com$;
}
在保存对nginx.conf的任何更改后,始终运行此命令是一种很好的做法:
$ sudo nginx -t
就像gunicorn的--check-config一样,它解析你的配置文件以检查没有错误,它会告诉你是否有任何需要修复。
道歉,如果这个答案最终没有用。