systemd添加自定义系统服务设置自定义开机启动的方法
发布时间 - 2026-01-10 21:55:33 点击率:次1.服务权限

systemd有系统和用户区分;系统(/user/lib/systemd/system/)、用户(/etc/lib/systemd/user/).一般系统管理员手工创建的单元文件建议存放在/etc/systemd/system/目录下面。
2.创建服务文件
[Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
[Unit]
Description : 服务的简单描述
Documentation : 服务文档
Before、After:定义启动顺序。Before=xxx.service,代表本服务在xxx.service启动之前启动。After=xxx.service,代表本服务在xxx.service之后启动。
Requires:这个单元启动了,它需要的单元也会被启动;它需要的单元被停止了,这个单元也停止了。
Wants:推荐使用。这个单元启动了,它需要的单元也会被启动;它需要的单元被停止了,对本单元没有影响。
[Service]
Type=simple(默认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。
Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程。
Type=oneshot:这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes 使得 systemd 在服务进程退出之后仍然认为服务处于激活状态。
Type=notify:与 Type=simple 相同,但约定服务会在就绪后向 systemd 发送一个信号。这一通知的实现由 libsystemd-daemon.so 提供。
Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。
Type=idle: systemd会等待所有任务(Jobs)处理完成后,才开始执行idle类型的单元。除此之外,其他行为和Type=simple 类似。
PIDFile:pid文件路径
ExecStart:指定启动单元的命令或者脚本,ExecStartPre和ExecStartPost节指定在ExecStart之前或者之后用户自定义执行的脚本。Type=oneshot允许指定多个希望顺序执行的用户自定义命令。
ExecReload:指定单元停止时执行的命令或者脚本。
ExecStop:指定单元停止时执行的命令或者脚本。
PrivateTmp:True表示给服务分配独立的临时空间
Restart:这个选项如果被允许,服务重启的时候进程会退出,会通过systemctl命令执行清除并重启的操作。
RemainAfterExit:如果设置这个选择为真,服务会被认为是在激活状态,即使所以的进程已经退出,默认的值为假,这个选项只有在Type=oneshot时需要被配置。
[Install]
Alias:为单元提供一个空间分离的附加名字。
RequiredBy:单元被允许运行需要的一系列依赖单元,RequiredBy列表从Require获得依赖信息。
WantBy:单元被允许运行需要的弱依赖性单元,Wantby从Want列表获得依赖信息。
Also:指出和单元一起安装或者被协助的单元。
DefaultInstance:实例单元的限制,这个选项指定如果单元被允许运行默认的实例。
3.重载服务
systemctl enable nginx.service
就会在/etc/systemd/system/multi-user.target.wants/目录下新建一个/usr/lib/systemd/system/nginx.service 文件的链接。
4.操作服务
#启动服务 $ sudo systemctl start nginx.service #查看日志 $ sudo journalctl -f -u nginx.service — Logs begin at 四 2015-06-25 17:32:20 CST. — 6月 25 10:28:24 Leco.lan systemd[1]: Starting nginx – high performance web server… 6月 25 10:28:24 Leco.lan nginx[7976]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 6月 25 10:28:24 Leco.lan nginx[7976]: nginx: configuration file /etc/nginx/nginx.conf test is successful 6月 25 10:28:24 Leco.lan systemd[1]: Started nginx – high performance web server. #重启 $ sudo systemctl restart nginx.service #重载 $ sudo systemctl reload nginx.service #停止 $ sudo systemctl stop nginx.service
以上就是小编为大家带来的systemd添加自定义系统服务设置自定义开机启动的方法全部内容了,希望大家多多支持~
# systemd
# 开机启动
# 一文教你如何自定义systemd开机启动脚本
# Systemd 入门实战教程
# 使用systemd部署服务的过程解析
# Nginx服务器添加Systemd自定义服务过程解析
# 使用systemd部署r-nacos的操作方法
# 自定义
# 重启
# 这一
# 也会
# 会在
# 停止了
# 是在
# 放在
# 多个
# 出现在
# 启动了
# 推荐使用
# 适用于
# 提供一个
# 小编
# 上时
# 值为
# 大家多多
# 为该
# 新建一个
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
Laravel如何使用Gate和Policy进行授权?(权限控制)
如何快速搭建安全的FTP站点?
如何批量查询域名的建站时间记录?
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
简单实现Android文件上传
Linux系统运维自动化项目教程_Ansible批量管理实战
Laravel怎么连接多个数据库_Laravel多数据库连接配置
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
Laravel如何生成API文档?(Swagger/OpenAPI教程)
北京网站制作公司哪家好一点,北京租房网站有哪些?
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
利用JavaScript实现拖拽改变元素大小
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
如何快速辨别茅台真假?关键步骤解析
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
js实现点击每个li节点,都弹出其文本值及修改
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
英语简历制作免费网站推荐,如何将简历翻译成英文?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
Swift中swift中的switch 语句
如何在阿里云购买域名并搭建网站?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何快速搭建支持数据库操作的智能建站平台?
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
如何用PHP工具快速搭建高效网站?
如何在 Pandas 中基于一列条件计算另一列的分组均值
如何快速配置高效服务器建站软件?
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Bootstrap CSS布局之列表
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
北京专业网站制作设计师招聘,北京白云观官方网站?
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
Laravel如何配置和使用缓存?(Redis代码示例)
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
如何用已有域名快速搭建网站?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
JS碰撞运动实现方法详解
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
JS经典正则表达式笔试题汇总

