我正在尝试使用Amazon EC2
,Django
和Gunicorn
将基本应用程序部署到Nginx
。我已将应用git clone
添加到我的AWS
Ubuntu
个实例中,并且正在运行Django 1.10
。
我可以使用Gunicorn
使用以下命令运行我的应用...
gunicorn --bind 0.0.0.0:8000 blackspruceherbals.wsgi:application
虽然我尝试为Gunicorn
创建一个upstart文件时遇到了麻烦。文件路径如下......
/etc/init/gunicorn.conf
,新贵代码如下所示......
description "Gunicorn application server handling black spruce herbals"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid ubuntu
setgid www-data
chdir /home/ubuntu/websitename/
exec bsh_env/bin/gunicorn --workers 3 --bind unix:/home/ubuntu/websitename/websitename.sock websitename.wsgi:application
当我跑...
sudo service gunicorn start
我收到以下错误...
Failed to start gunicorn.service: Unit gunicorn.service not found.
是什么给出的?我已经在互联网上寻找答案,但一无所获。你能看到一些明显我做错的事吗?提前致谢。
答案 0 :(得分:10)
由于Ubuntu 15.04 upstart
已被systemd
取代。您需要创建一个文件/etc/systemd/gunicorn.service
,其语法与upstart
文件不同。 FAQ可以帮助您入门,参考资料为man systemd.service
。
答案 1 :(得分:1)
添加到Antonis Christofides答案:
1)打开并创建systemd服务文件:
$ sudo nano /etc/systemd/system/gunicorn.service
2)将以下内容写入文件:
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=name_of_user
Group=name_of_user
WorkingDirectory=/home/name_of_user/myproject
ExecStart=/home/name_of_user/myproject/virtualenv_directory/bin/gunicorn --
access-logfile - --workers 3 --bind unix:/home/name_of_user/myproject/myproject.sock myproject.wsgi:application
[Install]
WantedBy=multi-user.target
3)启动服务:
$ sudo systemctl start gunicorn
4)启用服务:
$ sudo systemctl enable gunicorn
5)检查进程状态:
$ sudo systemctl status gunicorn
更多信息,请访问here
谢谢。 :)