Назад | Перейти на главную страницу

Невозможно подключить приложение Flask по общедоступному IP-адресу и домену с помощью ubuntu, nginx, uwsgi

Я новичок в веб-разработке, пытаюсь развернуть свое приложение flask в облаке oracle с ubuntu 18.04, nginx, uwsgi и flask.

Конфигурация nginx по умолчанию.

myapp.config для сервера:

server {
    listen 80;
    listen  [::]:80;
    server_name 152.67.8.6 stag.fick.in www.stag.fick.in;

    location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:5000;
            # unix:/home/ubuntu/FickStaging/fick_backend/fick/fick.sock;
    }
}

Теперь я пробую локальный IP-адрес, но я попытался с файлом сокета (прокомментировал путь .sock), получил тот же результат.

myapp.ini:

[uwsgi]
module = wsgi:application

master = true
processes = 5

socket = 127.0.0.1:5000
#unix:/FickStaging/fick_backend/fick/fick.sock
chmod-socket = 666 #660
vacuum = true

die-on-term = true

Здесь я пробую что угодно, что бы я ни пытался использовать за последние 4 дня, все еще не могу подключиться.

wsgi.py это:

from app import app as application

if __name__ == "__main__":
     application.run()

Я могу получить доступ к приложению с IP-адресом, используя файл wsgi с помощью следующей команды:

uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi

но не могу получить доступ, если я использую файл app.ini с командой также с сервисом.

Сервис myapp:

[Unit]
Description="uWSGI server instance for fick"
After=network.target

[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/home/ubuntu/FickStaging/fick_backend/fick
Environment=FLASK_ENV=test
ExecStart=/home/ubuntu/.local/bin/uwsgi --ini /home/ubuntu/FickStaging/fick_backend/fick/app.ini

[Install]
WantedBy=multi-user.target

Обратите внимание на статус myapp.service:

fick_staging.service - "uWSGI server instance for fick"
Loaded: loaded (/etc/systemd/system/fick_staging.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-07-24 05:19:40 UTC; 25min ago
Main PID: 32645 (uwsgi)
Tasks: 6 (limit: 1120)
CGroup: /system.slice/fick_staging.service
       ├─32645 /home/ubuntu/.local/bin/uwsgi --ini /home/ubuntu/FickStaging/fick_backend/fick/app.
       ├─32679 /home/ubuntu/.local/bin/uwsgi --ini /home/ubuntu/FickStaging/fick_backend/fick/app.
       ├─32680 /home/ubuntu/.local/bin/uwsgi --ini /home/ubuntu/FickStaging/fick_backend/fick/app.
       ├─32681 /home/ubuntu/.local/bin/uwsgi --ini /home/ubuntu/FickStaging/fick_backend/fick/app.
       ├─32682 /home/ubuntu/.local/bin/uwsgi --ini /home/ubuntu/FickStaging/fick_backend/fick/app.
       └─32683 /home/ubuntu/.local/bin/uwsgi --ini /home/ubuntu/FickStaging/fick_backend/fick/app.

 Jul 24 05:19:40 ubuntu uwsgi[32645]: mapped 437424 bytes (427 KB) for 5 cores
 Jul 24 05:19:40 ubuntu uwsgi[32645]: *** Operational MODE: preforking ***
 Jul 24 05:19:41 ubuntu uwsgi[32645]: WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x55
 Jul 24 05:19:41 ubuntu uwsgi[32645]: *** uWSGI is running in multiple interpreter mode ***
 Jul 24 05:19:41 ubuntu uwsgi[32645]: spawned uWSGI master process (pid: 32645)
 Jul 24 05:19:41 ubuntu uwsgi[32645]: spawned uWSGI worker 1 (pid: 32679, cores: 1)
 Jul 24 05:19:41 ubuntu uwsgi[32645]: spawned uWSGI worker 2 (pid: 32680, cores: 1)
 Jul 24 05:19:41 ubuntu uwsgi[32645]: spawned uWSGI worker 3 (pid: 32681, cores: 1)
 Jul 24 05:19:41 ubuntu uwsgi[32645]: spawned uWSGI worker 4 (pid: 32682, cores: 1)
 Jul 24 05:19:41 ubuntu uwsgi[32645]: spawned uWSGI worker 5 (pid: 32683, cores: 1)

Статус службы nginx:

nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/nginx.service.d
       └─override.conf
Active: active (running) since Thu 2020-07-23 20:17:51 UTC; 9h ago
 Docs: man:nginx(8)
Process: 27158 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, statu
Process: 27260 ExecStartPost=/bin/sleep 0.1 (code=exited, status=0/SUCCESS)
Process: 27247 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 27234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 27248 (nginx)
Tasks: 3 (limit: 1120)
CGroup: /system.slice/nginx.service
       ├─27248 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
       ├─27254 nginx: worker process
       └─27255 nginx: worker process

Jul 23 20:17:51 ubuntu systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 23 20:17:51 ubuntu systemd[1]: Started A high performance web server and a reverse proxy server.

Я надеюсь, что обе службы работают нормально. Я борюсь с этим последние четыре дня, проверил множество блогов и руководств с почти такими же деталями, но все еще не могу подключить свое приложение через общедоступный IP-адрес или домен.

Пожалуйста, дайте мне знать, если я могу предоставить какие-либо другие подробности. Любая помощь очень приветствуется, заранее всем спасибо :)

Вы должны исправить эту опечатку в своем ini-файле:

socket = 127.0.0.0:5000

Адрес должен был быть 127.0.0.1.