Debian 9-rc.local 已弃用,如何在启动时启动 python

Debian 9-rc.local 已弃用,如何在启动时启动 python

我有点迷茫,我有一个Debian9 服务器和一个Python Flask我试图在启动时启动的脚本。

过去我曾经习惯rc.local在启动时启动一些东西,但从阅读中看来,现在它已经被弃用了。

谁能告诉我它的替代品是什么,我现在最好使用什么方法?

答案1

Debian 9(与许多其他当前 Linux 发行版一样)使用 systemd 来启动和管理您的系统和服务。

与添加行相比,你将面临一些学习曲线,rc.local但写作单元文件(systemd 术语,实际上相当于服务的启动和停止脚本)将是一项有用的技能。

有关 systemd 的 Debian 特定文档位于https://wiki.debian.org/systemd
这一页https://wiki.debian.org/systemd/Services包含编写您自己的(最小)单元文件所需的详细分步说明:

  • 在目录中创建单元文件“myservice.service”/etc/systemd/system/

    # /etc/systemd/system/myservice.service 
    [Unit]
    Description=My Service
    After=network.target
    
    [Service]
    Type=simple
    Restart=always
    ExecStart=/usr/local/bin/myservice
    
    [Install]
    WantedBy=multi-user.target
    
  • 重新加载 systemd 以获取已更改的/新的单元文件:systemctl daemon-reload

  • 启用并启动新服务

    systemctl enable myservice.service
    systemctl start myservice.service
    

答案2

您可以使用 systemd 单元启动它,就像其他服务一样。

互联网上有许多关于如何设置的教程。或者你可以从骨架单元开始,例如:

[Unit]
Description=uWSGI instance to serve my project
After=network.target

[Service]
User=you
Group=www-data
WorkingDirectory=/home/you/project
Environment="PATH=/home/you/project/venv/bin"
ExecStart=/home/you/project/venv/bin/uwsgi --ini uwsgi.ini

[Install]
WantedBy=multi-user.target

答案3

没有唯一的答案,但你可以使用类似主管

Supervisor 是一个客户端/服务器系统,允许用户监视和控制类 UNIX 操作系统上的多个进程。

相关内容