在AWS EC2中将Python配置为服务

时间:2018-08-19 08:27:58

标签: amazon-web-services amazon-ec2

我如何配置Python脚本以在Amazon AWS EC2实例中作为服务运行(系统重启时重新启动,失败时重启)?

2 个答案:

答案 0 :(得分:2)

您可以在ec2实例上创建systemd服务以实现此目的。步骤是:

  1. 创建服务定义文件:

    sudo vi /lib/systemd/system/mypythonservice.service
    
  2. 添加系统单元文件定义。您可以查看this或系统参考指南以了解更多详细信息:

    [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
    
  3. 设置文件的必要权限:

    sudo chmod 644 /lib/systemd/system/mypythonservice.service
    
  4. 重新加载systemd守护程序:

    sudo systemctl daemon-reload
    
  5. 启用该服务以在重新启动时启动:

    sudo systemctl enable mypythonservice.service
    

当然,您可以将所有这些添加为EC2实例用户数据脚本的一部分,以在实例启动时自动进行配置。

答案 1 :(得分:0)

aws and python logo

在AWS EC2中将Python配置为服务

在进行了大量的研究以建立在自定义端口8080上编写的Python API以便在Amazon的Linux AMI操作系统(AWS)上运行之后,我决定解决这一难题并与大家共享该解决方案。

请参阅this link中的解决方案。