【问题标题】:deploy flask app to amazon linux 2 ec2 instance将烧瓶应用程序部署到 amazon linux 2 ec2 实例
【发布时间】:2021-03-20 20:20:59
【问题描述】:

我已经看到很多关于如何将 Flask Web 应用程序部署到 AWS 的示例,但所有这些示例都是使用 EC2 的 Ubuntu 或 Red hat 实例。

谁能给我将烧瓶应用程序部署到从 Amazon Linux 2(免费层)实例化并使用 Python3 的 EC2 的步骤

更新

David Buck,感谢您提供该链接,但我正在尝试将 httpd 与 mod_wsgi 一起使用;经过这么多谷歌搜索后,我想出了以下步骤:

yum install python3-devel httpd-devel gcc
pip3 install mod_wsgi
mod_wsgi-express module-config >> /etc/httpd/conf/httpd.conf

但最后一个命令我得到mod_wsgi-express: command not found

通过上述步骤后,我可以继续设置烧瓶应用程序

谢谢

【问题讨论】:

标签: python flask amazon-ec2


【解决方案1】:

我按照以下步骤从亚马逊 ec2 实例 (Amazon Linux 2 AMI t2.micro) 获取了烧瓶应用程序

通过ssh登录ec2实例,运行以下命令:

01 sudo su
02 yum install python3-devel httpd-devel httpd gcc git
03 pip3 install mod_wsgi
04 mod_wsgi-express start-server

上述命令无效,但重启实例后有效

05 mod_wsgi-express module-config >> /etc/httpd/conf/httpd.conf

这又没用;即使我使用 sudo 运行,也会不断收到拒绝权限错误;所以我通过管道传输到一个临时文件,并将临时文件的内容复制到/etc/httpd/conf/httpd.conf

临时文件的内容应如下所示

LoadModule wsgi_module "/usr/local/lib64/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so"
WSGIPythonHome "/usr"

重启http服务并确保一切正常

06 systemctl restart httpd

现在用于设置烧瓶应用程序

07 pip3 install flask
08 car /var/www
09 git clone https://github.com/nshathish/flask-lab2.git
10 cd flask-lab2
11 nano flask-lab2.wsgi

在上述文件中输入以下内容

import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, "/var/www/flask-lab2")
from app import app as application


12 sudo nano /etc/httpd/conf.d/flask-lab2.conf

现在将以下内容复制到上述文件中

<VirtualHost *:80>
  ServerName flask-lab2.myserver.com
  ServerAdmin root@nshathish.com1
  WSGIScriptAlias / /var/www/flask-lab2/flask-lab2.wsgi
  WSGIDaemonProcess flask-lab2
  <Directory /var/www/flask-lab2>
      WSGIProcessGroup flask-lab2
      WSGIApplicationGroup %{GLOBAL}
      Order deny,allow
      Allow from all
  </Directory>
  ErrorLog /var/log/httpd/error.log
  LogLevel warn
  CustomLog /var/log/httpd/access.log combined
</VirtualHost>

最终检查

13 curl http://localhost

如果您为上述命令获得了Hello World,则一切正常

如果有人能解释为什么我不能运行第 5 步,那将非常有用;也非常欢迎对上述步骤进行任何改进

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 2014-11-13
    • 2015-07-15
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    相关资源
    最近更新 更多