下面是详解CentOS设置程序开机自启动的方法的完整攻略。
1. 确认服务是否具有自启动的配置文件
在CentOS系统下,一些服务默认会具有自启动的配置文件,我们可以先查看一下我们所需要开机自启动的服务是否具有配置文件。
常用的系统服务配置文件的目录为/lib/systemd/system/
,以nginx
服务为示例,我们可以使用以下命令来检查是否有名为nginx.service
的配置文件:
ls /lib/systemd/system/nginx.service
如果有返回结果就说明存在,反之则需要自己手动创建。
2. 创建自定义的服务配置文件
如果服务并没有自启动的配置文件,则需要手动创建。
以my_service
服务为例,我们可以在/etc/systemd/system/
目录下创建一个名为my_service.service
的文件,然后在该文件中添加以下内容:
[Unit]
Description=My custom service
After=network.target
[Service]
ExecStart=/usr/bin/python /path/to/my_service.py
Restart=always
[Install]
WantedBy=multi-user.target
上述配置文件中,Description
是对服务的描述,After
则代表在网络启动后才运行该服务,ExecStart
则指定了启动该服务所需要执行的命令,Restart
则代表该服务在任何时候发生异常情况时都应该自动重启,最后的WantedBy
则表示该服务是在多用户模式下运行的。
3. 启动自定义的服务并加入开机自启动
完成上述配置后,我们需要重新加载systemd
的配置并启动该服务,然后再将其加入开机自启动列表。
执行以下命令来重新加载systemd
的配置:
systemctl daemon-reload
然后再执行以下命令来启动该服务并测试一下:
systemctl start my_service
最后,我们可以将其加入开机自启动列表,使用以下命令:
systemctl enable my_service
这样,我们就完成了自定义服务的配置,并实现了开机自启动。
示范
以Nginx为例,首先我们需要确认是否存在Nginx的服务配置文件,我们可以使用以下命令:
ls /lib/systemd/system/nginx.service
如果存在,则可以直接启用,执行以下命令即可:
systemctl enable nginx
systemctl start nginx
如果不存在,则需要我们手动创建Nginx的自定义服务配置文件。我们可以使用文本编辑器创建一个nginx.service
文件,如下所示:
[Unit]
Description=nginx http server
After=network.target
[Service]
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
然后,我们可以使用以下命令来测试一下这个服务是否能够正常启动:
systemctl daemon-reload
systemctl start nginx
如果一切正常,则可以加入开机自启动列表:
systemctl enable nginx
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解CentOS设置程序开机自启动的方法 - Python技术站