У меня есть приложение фляги, которое хочет разместить на сервере apache2, используя интерфейс wsgi между Python Flask и Apache2.Я клонировал приложение в www / var / catalogapp /, а также у меня есть файл конфигурации Apache (catalogapp.conf) и файл wsgi моего приложения (catalogapp.wsgi)
Я выполняю все шагиЧтобы развернуть приложение на сервере Apache, который я настроил на Amazon Lightsail, основываясь на этом учебном руководстве:
https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps#step-four-%E2%80%93-configure-and-enable-a-new-virtual-host
Приложение с флягой должно работать на порту 80 с общедоступным IP-адресом, предоставленным Amazon Lightsail.Проблема заключается в том, что при загрузке IP-адреса в браузере появляется ошибка «Время ожидания соединения».Это как сервер никогда не может достичь, и всегда я получаю сообщение Timed Out Connection.
Я проверяю свои сообщения в журналах с помощью команды: sudo tail /var/log/apache2/error.log и получаю следующие сообщения:
[Thu Jan 31 21:27:02.060526 2019] [mpm_event:notice] [pid 15619:tid 140477135951744] AH00491: caught SIGTERM, shutting down
[Thu Jan 31 21:27:03.080506 2019] [wsgi:warn] [pid 16351:tid 140306872121216] mod_wsgi: Compiled for Python/3.5.1+.
[Thu Jan 31 21:27:03.080540 2019] [wsgi:warn] [pid 16351:tid 140306872121216] mod_wsgi: Runtime using Python/3.5.2.
[Thu Jan 31 21:27:03.080967 2019] [mpm_event:notice] [pid 16351:tid 140306872121216] AH00489: Apache/2.4.18 (Ubuntu) mod_wsgi/4.3.0 Python/3.5.2 configured -- resuming normal operations
[Thu Jan 31 21:27:03.080981 2019] [core:notice] [pid 16351:tid 140306872121216] AH00094: Command line: '/usr/sbin/apache2'
Я создал файл catalogapp.confнаходится в каталоге / etc / apache2 / sites-available, а также в файле catalogapp.wsgi, который находится в каталоге / var / www / catalogapp / со всей информацией об IP-адресе и связан с инструкциями, описанными в приведенной выше ссылке
Это мой файл catalogapp.conf:
<VirtualHost *:80>
ServerName 3.82.189.241
ServerAdmin nferrari3444@gmail.com
WSGIScriptAlias / /var/www/catalogapp/catalogapp.wsgi
<Directory /var/www/catalogapp/catalogapp/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/catalogapp/catalogapp/static
<Directory /var/www/catalogapp/catalogapp/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
А вот мой файл catalogapp.wsgi:
activate_this = '/var/www/catalogapp/catalogapp/venv/bin/activate'
execfile(activate_this, dict(__file__=activate_this))
#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr,
level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(message)s',
filename='/tmp/catalogapp.log',
filemode='w'))
sys.path.insert(0,"/var/www/catalogapp/")
sys.path.insert(0,"/var/www/item_catalog/catalogapp")
from catalogapp import app as application
application.secret_key = 'Add your secret key'
Целью этого является создание приложения catalogapp.размещены и развернуты на сервере apache2 в пределах IP-адреса, который пользователь записывает в браузере.