在 AWS EC2 Linux 服务器上部署Gunicorn

  • Post author:
  • Post category:linux


在 AWS EC2 Linux 服务器上部署 Flask 应用的步骤类似,你也可以使用 Gunicorn。以下是具体步骤:

1. 连接到你的 AWS EC2 实例。你可以通过 SSH 进行连接,如:

“`

ssh -i /path/to/your/key.pem ec2-user@your-ec2-ip-address

“`

2. 在你的环境中安装 Gunicorn,如果你还没有安装 Flask,你也应该安装它:

“`

pip install flask gunicorn

“`

3. 将你的 Flask 应用上传到 EC2 实例。你可以通过 `scp`,`rsync`,或者其他方式将应用上传到 EC2 实例上。

4. 在服务器的命令行中,切换到 Flask 应用的目录,然后运行以下命令以启动你的 Flask 应用:

“`

gunicorn app:app

“`

这里,第一个 `app` 是你的文件名(不包括 `.py` 扩展名),第二个 `app` 是 Flask 对象的名字。

5. 你可能想让 Gunicorn 在后台运行并且在系统启动时自动启动。在 Linux 系统中,你可以使用 systemd 来实现这个需求。首先,创建一个新的 systemd 服务文件:

“`

sudo nano /etc/systemd/system/myflaskapp.service

“`

然后在文件中输入以下内容:

“`

[Unit]

Description=Gunicorn instance to serve myflaskapp

After=network.target

[Service]

User=ec2-user

Group=nginx

WorkingDirectory=/path/to/your/flask/app

Environment=”PATH=/your/python/path”

ExecStart=/your/python/path/gunicorn –workers 3 –bind unix:myflaskapp.sock -m 007 app:app

[Install]

WantedBy=multi-user.target

“`

然后启动并使能这个服务:

“`

sudo systemctl start myflaskapp

sudo systemctl enable myflaskapp

“`

6. 最后,你需要在 Nginx 或 Apache 中设置一个反向代理,将 HTTP 请求转发到 Gunicorn。这样可以提供更好的并发处理能力,并且可以方便地提供 HTTPS 支持。

以上就是部署 Flask 应用到 AWS EC2 Linux 服务器的基本步骤。你可能还需要考虑其他一些因素,比如 HTTPS,数据库配置等等。

========================================

(venv) [ec2-user@ip-172-31-46-237 website-backend—python]$ /home/ec2-user/venv/bin/gunicorn -b 172.31.46.237:5000 app:app &

在虚拟目录下进入项目目录,执行绝对目录下的虚拟环境之下的gunicorn命令,监听来自5000端口的访问

这里的地址,是来自服务器的两个网络接口,都是内网地址。

—————————–

使用

ifconfig



ip addr

命令来查看你的机器上的可用 IP 地址

根据你提供的信息,你的机器具有两个网络接口:

lo



eth0


lo

是回环接口,用于本地回环通信,它的 IP 地址是

127.0.0.1


eth0

是你的主要网络接口,它的 IP 地址是

172.31.46.237



版权声明:本文为wenxi2367原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。