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

本文介绍了如何在Linux系统中将应用配置为服务,以便于服务器重启后能自动启动。主要涉及服务配置文件的编写,包括[Unit]、[Service]和[Install]三个部分,详细说明了各个字段的含义。此外,还详述了服务的管理操作,如启动、停止、重启及查看服务状态,并提供了nginx和redis两个服务配置的示例。遵循正确配置,可以确保应用的稳定自启动。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值