自定义 systemd service
Red Hat Linux 自 7 版本后 采用systemd 形式取代原先 init ,用户可以参考 系统service 创建自己的service ,以便于日常统一管理,系统service 存储路径 /usr/lib/systemd/system
,下面我们以一个编译安装的nginx为例 ,介绍 如何自己创建一个类似的service。
1.首先创建nginx.service
在 /usr/lib/systemd/system/
目录下面新建一个nginx.service文件。并赋予可执行的权限
touch /usr/lib/systemd/system/nginx.service chmod +x /usr/lib/systemd/system/nginx.service
2 .仿照其它service 内容格式,设置service 内容参数 ,包括 描述、启动命令、停止命令
[Unit] #对服务的说明 Description=nginx - high performance web server #描述服务 After=network.target remote-fs.target nss-lookup.target #描述服务类别 [Service] #服务的一些具体运行参数的设置 Type=forking #后台运行的形式 PIDFile=/usr/local/nginx/logs/nginx.pid #PID文件的路径 ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf #启动前准备 校验配置文件是否错误 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 #停止命令 ExecQuit=/usr/local/nginx/sbin/nginx -s quit #强制停止 PrivateTmp=true #给服务分配临时空间 [Install] WantedBy=multi-user.target #service 模式
3.检查并测试启动服务
# 先重载systemctl命令 systemctl daemon-reload # 启动服务 systemctl start nginx.service # 查看状态 systemctl status nginx #停止服务 systemctl stop nginx # 重启服务 systemctl restart nginx
例如:
# systemctl status nginx ● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: inactive (dead) since Tue 2022-02-15 15:06:57 CST; 3 months 15 days ago Main PID: 1653 (code=exited, status=0/SUCCESS) Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步