ウェブアプリを公開したいと思っています。
使用するツール等はまとめると以下になります。
使用サービス:conohaのVPS
OS:Ubuntu
webサーバー:nginx + uWSGI
webフレームワーク:Flask
現状
VPS上でnginxは正常に稼働し、静止ファイル(index.html等)はIPアドレスから閲覧可能です。
エラー
IPアドレスをうつと、index.htmlではなく、Flask製のファイル(hello.py)にとぶようにしています。
(トップページにHello World!をだしたいため)
IPアドレスをうつと、403Forbiddenが返ってきます。
hello.pyのコードは下に掲載しています。
かなり色々なサイトを調べたのですが、nginxの設定が間違っているのか、はたまた、Flaskのコードの書き方が間違っているのか、どこが間違って上手く表示できないのかがわかりません。
3つのファイルを作成したのですが、もし間違っている部分がありましたらご指摘をしてもらえないでしょうか?
とても、大雑把な質問になり大変申し訳ありません。
掲載しているファイルは以下の3つです。
0. hello.py(flask製のファイル)
0. demoapp_uwsgi.ini(uWSGIの設定ファイル)
0. myapp.conf(nginxの設定ファイル)
python
1#/var/www/demoapp/hello.py 2 3 4from flask import Flask 5app = Flask(__name__) 6 7@app.route("/") 8def hello(): 9 return "Hello World!" 10 11if __name__ == "__main__": 12 app.run() 13
python
1#/var/www/demoapp/demoapp_uwsgi.ini 2 3 4 5base = /var/www/demoapp 6 7app = hello 8 9module = %(app) 10 11home = /home/takahiro/anaconda3/bin/python 12 13pythonpath = %(base) 14 15socket = %(base)/%n.sock 16 17chmod-socket = 666 18 19#the variable that holds a flask application inside the module imported at line #6 20callable = app 21 22logto = /var/log/uwsgi/%n.log 23touch-logreopen = %(base)/.logreopen_trigger 24 25touch-reload = %(base)/.uwsgi_touch 26
python
1#/etc/nginx/conf.d/myapp.conf 2 3 4server { 5 listen 80; 6 server_name localhost; 7 charset utf-8; 8 client_max_body_size 75M; 9 10 location / { try_files $uri /var/www/demoapp; } 11 location /var/www/demoapp { 12 include uwsgi_params; 13 uwsgi_pass unix:///tmp/uwsgi.sock; 14 } 15} 16
補足すべき情報がありましたら、返信をください。
すぐに対応したいと思います。
【追記】
wwwフォルダ以下の権限は全て755です。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/14 05:51