django - uwsgi:从启动脚本运行时连接被拒绝

标签 django ubuntu permissions wsgi uwsgi

我想用 nginx 和 uwsgi 在 amazon ec2 (ubuntu) 上运行一个 django 站点。我已按照 here 所述的基本设置进行操作.

当我从命令行(作为 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

但这里也没有运气。我对如何解决这个问题一无所知,感谢任何输入!

最佳答案

我认为连接错误是由/tmp/uwsgi_mysite.sock 文件的权限问题引起的。

尝试将“--uid YOURNAME --gid www-data”和“--chmod-socket 666”选项添加到您的 Upstart 脚本中,如下所示。并确保 YOURNAME 在 www-data 组(默认的 nginx 组)中。

exec /home/ubuntu/uwsgi-1.3/uwsgi --uid YOURNAME --gid www-data --home /home/ubuntu/apps/mysite-env/site/ --socket /tmp/uwsgi_mysite.sock --chmod-socket 666 --module mysite_wsgi --pythonpath /home/ubuntu/apps/mysite-env/site/mysite/production -H /home/ubuntu/apps/mysite-env

关于django - uwsgi:从启动脚本运行时连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13251730/

相关文章:

python - 属性错误 : 'Manager' object has no attribute 'get_by_natural_key' error in Django?

php - 404 未找到 nginx/1.10.3 (Ubuntu)

post - 尝试在 Box 中创建指向文件夹的共享链接时出现访问被拒绝错误消息

permissions - 如何检测更改设置后应用程序是否重新打开?

django - 自定义 Django 应用程序和贡献/merge 上游的工作流

javascript - 无法将多个查询的数据发送到django中的ajax调用

ubuntu - 从代码块打印后记 - 非常奇怪的输出

Ubuntu一次又一次地询问密码

bash - 拒绝 sudo 用户访问特定文件夹

ajax - 覆盖单个模型或应用程序的 submit_line.html