#uWSGI と Nginx の設定でsocketエラーが発生したのでメモ
flask を uWSGI と Nginx でデプロイする
https://qiita.com/ekzemplaro/items/a570f79de254428a151d
この記事を参考にpython3系(virtual-env)+flask+uWSGI+Nginxの環境構築していたら躓いたので共有
##前提
- Ubuntu 16.04LTS
- Python 3.6
上の記事のように一通り必要なパッケージはインストールしてあること
ちなみにuwsgiコマンドはデフォルトだと、ビルトインのpythonのバージョン(おそらく2.7)を使うので
python3系を使いたい人はvirtual-env上で作るのが楽かと
##状況
まず、上の記事の手順通りに構築を行い
途中の
uwsgi を動かす
uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi:app
というところまではページが表示された
##エラー発生
しかし、最後のnginxの設定を終えたあと、クライアントで確認したところ
503 Bad Gateway
これが表示された
tail -f 100 /var/log/nginx/error.log
logを確認したところ
1 connect() to unix:/home/pomcho555/myproject/myproject.sock failed (2: No such file or directory)
socketファイルがないよって怒らたので自前で作成することにする
touch /home/pomcho555/myproject/myproject.sock
nginx再起動
systemctl restart nginx
##幕間
なぜ表示されないかは未だに不明
MySQLやRailsでも同様のことが発生するようだが今回の場合の原因は特定できなかった
https://cre8cre8.com/rails/nginx-privatetmp-with-unicorn-rails.htm
分かる人いたら教えてください!
##参考
https://qiita.com/ekzemplaro/items/a570f79de254428a151d
https://qiita.com/kanohisa/items/564035efd74d9c75bdcb