これを重複して閉じようと急いではいけません。オンラインで検索しましたが、まだ機能する方法が見つかりません。
これは私の作業ディレクトリです。
/var/www/flaskapp
- myproject.ini
- myproject.py
- 私のプロジェクト.sock
- パイキャッシュ
- ウィニフ
- wsgi.py
myproject.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "<h1 style='color:blue'>Hello There!</h1>"
if __name__ == "__main__":
app.run(host='0.0.0.0')
wsgi.py
from myproject import app
if __name__ == "__main__":
app.run()
myproject.ini
[uwsgi]
module = wsgi:app
master = true
processes = 5
socket = myproject.sock
chmod-socket = 660
vacuum = true
die-on-term = true
#location of log files
logto = /var/log/uwsgi/%n.log
私もsystemd Unitファイルを作成しました。
/etc/systemd/system/myproject.service
[Unit]
Description=uWSGI instance serve myproject
After=network.target
[Service]
User = john
Group = www-data
WorkingDirectory=/var/www/flaskapp/
Environment="PATH=/var/www/flaskapp/venv/bin"
ExecStart=/var/www/flaskapp/venv/bin/uwsgi --ini myproject.ini
[Install]
WantedBy=multi-user.target
それから
sudo systemctl start myproject
sudo systemctl enable myproject
nginx設定より。 nginx.conf 変更せずにそのままにしましたが、/etc/nginx/sites-available/myprojectを修正しました。
server {
listen 83;
server_name my_external_ip;
location / {
include uwsgi_params;
uwsgi_pass unix:/var/www/flaskapp/flaskapp;
}
}
そして、コマンドを介して/etc/nginx/sites-enabledへのリンクを作成しました。
sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
以降:sudo systemctl restart nginxとsudo ufwは「Nginx Full」を受け入れます。
今私が入るときhttp://myIPアドレス:83/基本的なnginxの挨拶だけが表示され、他に何もありません!私の考えでは、これは私のHello There!私はPythonスクリプトで作成しました。なぜか分からない…
これは私のログです:
/var/log/nginx/error.log
2018/02/08 22:17:51 [error] 2394#2394: *1 connect() to unix:/var/www/flaskapp/venv failed (111: Connection refused) while connecting to upstream, client: 46.146.0.30, server: 92.240.202.184, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/var/www/flaskapp/venv:", host: "my_external_ip:83"
そしてuwsgiログ:
current working directory: /var/www/flaskapp
detected binary path: /var/www/flaskapp/venv/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
your processes number limit is 7157
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address myproject.sock fd 3
Python version: 3.5.2 (default, Nov 23 2017, 16:37:01) [GCC 5.4.0 20160609]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0xf07550
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 436560 bytes (426 KB) for 5 cores
*** Operational MODE: preforking ***
WSGI app 0 (mountpoint='') ready in 2 seconds on interpreter 0xf07550 pid: 2320 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 2320)
spawned uWSGI worker 1 (pid: 2703, cores: 1)
spawned uWSGI worker 2 (pid: 2704, cores: 1)
spawned uWSGI worker 3 (pid: 2705, cores: 1)
spawned uWSGI worker 4 (pid: 2706, cores: 1)
spawned uWSGI worker 5 (pid: 2707, cores: 1)
誰かがuwsgiを再インストールし、pcreをインストールする必要があると言いましたが、それでも成功しませんでした。これに関連するすべてのソリューションを検索しようとしましたが、何も得られませんでした。
問題を見つけて解決するのに役立ちます...
どんな助けでも大変感謝します!
よろしくお願いします!