如何在服务器上使用apache2部署Flask应用

时间:2019-02-22 18:35:27

标签: python apache flask

我需要一些帮助将Flask应用程序部署到服务器上。 在我的服务器上是一个网页。侦听端口80并重定向到443以使用https。现在,我想在此页面上添加一个Restful后端,但无法将IP数据包发送到我的python应用程序。甚至在我的网络浏览器中得到答复。

apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2018-10-10T18:59:25

flask --version
Flask 1.0.2
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0]

cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"

我在/ opt /

中创建了一个venv .LitTool

在我的manage.py中,我仅使用以下命令启动flask应用程序:

if __name__ == '__main__':
    app.run(host='0.0.0.0', port= 8090,debug=True,threaded=True, ssl_context=SSL_CONTEXT)

我添加了一个wsgi.py:

from manage import app

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

我创建了系统服务文件:

[Unit]
Descriton=uWSGI instance to serve Littool
After=network.target

[Service]
User=datawatch
Group=datawatch
WorkingDirectory=/opt/.LitTool
Environment="PATH=/opt/.LitTool/bin"
ExecStart=/opt/.LitTool/bin/uwsgi --ini littool.ini

[Install]
WantedBy=multi-user.target

然后我在/ etc / apache2 / sites-enabled中创建了一个conf文件:

<VirtualHost *>
                ServerName xxxxx
                WSGIScriptAlias / /opt/.LitTool/wsgi.py
                <Directory /opt/.LitTool/>
                        Order allow,deny
                        Allow from all
                </Directory>
                Alias /static /opt/.LitTool/static
                <Directory /opt/.LitTool/static/>
                        Order allow,deny
                        Allow from all
                </Directory>
                ErrorLog ${APACHE_LOG_DIR}/error.log
                LogLevel warn
                CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我尝试了80,443和8090等不同的端口。对于我的网页,我还有另外两个* .conf。一个用于端口80,另一个用于443。创建第三个文件是否正确?还是应该添加到现有的?

Littool.service和Apache2正常启动,没有任何错误。

如果需要更多信息,我也可以提供。 感谢您的支持。

大卫

0 个答案:

没有答案