Por favor, não se apresse em fechá-lo como duplicado. Eu pesquisei pela web e ainda não consegui encontrar o jeito de fazer isso funcionar.
Este é o meu diretório de trabalho:
/var/www/flaskapp
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
Eu também criei um arquivo de unidade systemd
/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
e depois
sudo systemctl start myproject
sudo systemctl enable myproject
Do que a configuração do nginx. nginx.conf deixei inalterado mas fiz correções em / etc / nginx / sites-availible / myproject
server {
listen 83;
server_name my_external_ip;
location / {
include uwsgi_params;
uwsgi_pass unix:/var/www/flaskapp/flaskapp;
}
}
e também fez um link para / etc / nginx / sites-enabled pelo comando
sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
Depois disso: sudo systemctl reinicia o nginx e o sudo ufw permite 'Nginx Full'.
Agora, quando eu insiro link , vejo a saudação nginx padrão e nada mais! Embora eu ache que deveria ser meu Olá! feita pelo meu script python. Não sei porque ...
Aqui estão meus registros:
/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"
E log do 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)
Em algum lugar foi dito que eu preciso reinstalar o uwsgi e também instalar o pcre, mas depois de fazer isso ainda sem sucesso, eu realmente tentei e procurei todas as soluções relacionadas a isso, mas com todo esforço eu não consegui nada ..
Por favor, ajude-me a detectar problemas e, em seguida, a lidar com isso ...
Qualquer ajuda será apreciada!
Obrigado antecipadamente!