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
しかし、ここでも運がありません。これを修正する方法についてはアイデアがありません。ご意見をお待ちしております。