【发布时间】:2019-01-25 16:53:53
【问题描述】:
如何将 Python 脚本配置为在 Amazon AWS EC2 实例中作为服务运行(系统重启时重新启动,失败时重启)?
【问题讨论】:
标签: amazon-web-services amazon-ec2
如何将 Python 脚本配置为在 Amazon AWS EC2 实例中作为服务运行(系统重启时重新启动,失败时重启)?
【问题讨论】:
标签: amazon-web-services amazon-ec2
您可以在 ec2 实例上创建systemd 服务来实现此目的。步骤是:
创建服务定义文件:
sudo vi /lib/systemd/system/mypythonservice.service
添加 systemd 单元文件定义。您可以查看this 或 systemd 参考指南了解更多详情:
[Unit]
Description=My Python Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/python /home/myuser/mypythonproject.py
Restart=on-failure
[Install]
WantedBy=multi-user.target
对文件设置必要的权限:
sudo chmod 644 /lib/systemd/system/mypythonservice.service
重新加载 systemd 守护进程:
sudo systemctl daemon-reload
使服务在重启时启动:
sudo systemctl enable mypythonservice.service
当然,您可以将所有这些添加为 EC2 实例用户数据脚本的一部分,以便在实例启动时自动配置。
【讨论】:
在 AWS EC2 中将 Python 配置为服务
在尝试设置在自定义端口 8080 上编写的 Python API 以在 Amazon 的 Linux AMI 操作系统 (AWS) 上运行的大量研究失败后,我决定解决这个难题并与大家分享解决方案。
查看this link中的解决方案。
【讨论】: