我想用 nginx 和 uwsgi 在 amazon ec2 (ubuntu) 上运行一个 django 站点。我已按照此处描述的基本设置进行操作。
当我从命令行(作为 ubuntu 用户)启动 uwsgi 时,一切正常,网站服务正常:
/home/ubuntu/uwsgi-1.3/uwsgi --home /home/ubuntu/apps/mysite-env/site/ --socket /tmp/uwsgi_mysite.sock --chmod-socket --module mysite_wsgi --pythonpath /home/ubuntu/apps/mysite-env/site/mysite/production -H /home/ubuntu/apps/mysite-env
但是,当我想通过启动脚本来妖魔化它时,uwsgi 会报告以下错误:
2012/11/06 12:50:08 [error] 1773#0: *10 connect() to unix:///tmp/uwsgi_mysite.sock failed (111: Connection refused) while connecting to upstream, client: 91.66.145.99, server: *.mysite.com, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:///tmp/uwsgi_mysite.sock:", host: "mysite.com"
(这看起来像一个权限问题)
我的启动脚本看起来像这样
# file: /etc/init/uwsgi_mysite.conf
description "uWSGI server"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
exec /home/ubuntu/uwsgi-1.3/uwsgi --home /home/ubuntu/apps/mysite-env/site/ --socket /tmp/uwsgi_mysite.sock --chmod-socket 777 --module mysite_wsgi --pythonpath /home/ubuntu/apps/mysite-env/site/mysite/production -H /home/ubuntu/apps/mysite-env
我曾尝试以 ubuntu 用户
exec sudo -u ubuntu "command...
“”的身份执行启动命令,但无济于事。
我还尝试通过传入来更改套接字文件的权限
--chmod-socket 777
但这里也没有运气。我对如何解决这个问题一无所知,感谢任何输入!