Linux:开机自启动配置(将应用发布为服务)

Posted 长不大的大灰狼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux:开机自启动配置(将应用发布为服务)相关的知识,希望对你有一定的参考价值。

Linux:开机自启动配置(将应用发布为服务)


服务器断电重启后,应用无法自动启动。为此我们可以将应用发布为服务,这样服务器重启后,应用也能随之自动启动。

一、服务配置

vim /usr/lib/systemd/system/nginx.service

nginx.service:
[Unit]:服务的说明
Description:描述服务
After:描述服务类别

[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间

[Install]服务安装的相关设置,可设置为多用户

注意:

  • 启动、重启、停止命令全部要求使用绝对路径
  • 以754的权限保存服务配置

二、服务管理

  • 启动nginx服务 systemctl start nginx.service
  • 设置开机自启动 systemctl enable nginx.service
  • 停止开机自启动 systemctl disable nginx.service
  • 查看服务当前状态 systemctl status nginx.service
  • 重新启动服务 systemctl restart nginx.service
  • 查看所有已启动的服务 systemctl list-units --type=service

三、服务配置示例

1、redis.service

[Unit]
Description=Redis
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
ExecStop=kill -INT `cat /tmp/redis.pid`
User=www
Group=www

[Install]
WantedBy=multi-user.target

设置开机自启动,任意目录下执行:

systemctl enable redis.service

2、nginx.service

[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop

[Install]
WantedBy=multi-user.target

设置开机自启动,任意目录下执行:

systemctl enable nginx.service

以上是关于Linux:开机自启动配置(将应用发布为服务)的主要内容,如果未能解决你的问题,请参考以下文章

Linux设置tomcat开机自启动

Linux设置tomcat开机自启动:centos7

在Linux中如何将脚本做成系统服务开机自启动?

linux开机自启动命令

Ubuntu20.04配置开机自启动脚本

Linux开机启动程序rc.local