首页 > 系统相关 >通过Systemctl管理自定义linux服务文件

通过Systemctl管理自定义linux服务文件

时间:2023-06-17 09:34:07浏览次数:30  
标签:systemd 服务 自定义 system nginx Systemctl usr linux local

Systemd 默认从目录/etc/systemd/system/读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/,真正的配置文件存放在那个目录。systemctl enable命令用于在上面两个目录之间,建立符号链接关系。

sudo systemctl enable [example]

等同于
sudo ln -s '/usr/lib/systemd/system/[example]' '/etc/systemd/system/multi-user.target.wants/[example]

nginx为例,nginx安装路径为/usr/local/nginx

在/etc/systemd/system/路径下创建nginx.service文件

[Unit]
Description=nginx - high performance web server
After=nginx.service
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
Execenable=/usr/local/nginx/sbin/nginx
User=root
Group=root
Restart=always
RestartSec=20
StartLimitInterval=0
[Install]
WantedBy=multi-user.target
[Unit] 表示这是基础信息
Description 是描述
After 是在那个服务后面启动,一般是网络服务启动后启动
[Service] 表示这里是服务信息
Type 是后台运行的形式
User 是设置服务运行的用户
Group 是设置服务运行的用户组
ExecStart 是启动服务的命令
ExecReload 是重启服务的命令
ExecStop 是停止服务的指令
Restart=always 只要不是通过systemctl stop来停止服务,任何情况下都必须要重启服务,默认值为no
RestartSec=20 重启间隔,比如某次异常后,等待20(s)再进行启动,默认值0.1(s)
StartLimitInterval=0 无限次重启,默认是10秒内如果重启超过5次则不再重启,设置为0表示不限次数重启
[Install] 表示这是是安装相关信息
WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行

标签:systemd,服务,自定义,system,nginx,Systemctl,usr,linux,local
From: https://www.cnblogs.com/conpi/p/17487045.html

相关文章

  • Linux command line basics: sudo
    Linuxcommandlinebasics:sudohttps://www.redhat.com/sysadmin/sudoWhatissudo?Sudostandsfor"superuserdo"andisthemasterkeytoyourhigh-privilegeadmintasks.Haveyouevertriedtoeditaconfigfileonlytoreceive"Permissi......
  • 小型极简主义 Linux 发行版:Peropesis
    Peropesis 是personaloperatingsystem的转写简拼,一个小型、极简主义、基于命令行的 Linux 操作系统。目前仍是一个不完整的系统,但它正在不断改进。此外,它是一个由自由软件创建的自由操作系统,在GNUGPL或BSD许可下分发。2023年4月26日,该项目更新了最新的 Pero......
  • 小型极简主义 Linux 发行版:Peropesis
    Peropesis 是personaloperatingsystem的转写简拼,一个小型、极简主义、基于命令行的 Linux 操作系统。目前仍是一个不完整的系统,但它正在不断改进。此外,它是一个由自由软件创建的自由操作系统,在GNUGPL或BSD许可下分发。2023年4月26日,该项目更新了最新的 Pero......
  • 小型极简主义 Linux 发行版:Peropesis
    Peropesis 是personaloperatingsystem的转写简拼,一个小型、极简主义、基于命令行的 Linux 操作系统。目前仍是一个不完整的系统,但它正在不断改进。此外,它是一个由自由软件创建的自由操作系统,在GNUGPL或BSD许可下分发。2023年4月26日,该项目更新了最新的 Pero......
  • logrotate command in Linux with examples
    logrotatecommandinLinuxwithexampleshttps://linuxconfig.org/logrotateInLinux,manyapplicationsandsystemserviceswillstorelogfiles.TheselogfilesgiveaLinuxadministratorinsightintohowtheirsystemisperforming,andareinvaluablewh......
  • c++ linux 学习第二课
    c++linux学习第二课一、GCC的工作流程:gcc编译器将C源文件到生成一个可执行程序中间一共经历四个步骤:二、gcc常用参数:-v版本-E生成预处理文件-S生成汇编文件-c只编译,生成目标文件.o文件-I(大写的i)指定头文件所在的路径-L指定库文件所在的路径-l(小写的L)......
  • 大数据学习--虚拟机Linux系统安装使用
    大数据学习推荐使用CentOS系统,于是在虚拟机上安装这个程序。   接下来复制三个,  ......
  • Linux 使用交叉编译工具链编译boost
    参考:Boost交叉编译执行./bootstrap.sh后,会生成project-config.jam。修改project-config.jam文件:#if!gccin[feature.values<toolset>]#{#usinggcc:;#}if!gccin[feature.values<toolset>]{usinggcc::/cross-tools/aarch64-poky-linux-gcc--sysro......
  • Linux项目流程 + 用git将本地代码上传到gitee
    目录前言 一个"进度条"项目git上传代码首次上传代码 安装git  克隆仓库连接 将文件传入路径目录文件上传三板斧后续提交更新git实用用法补充前言 本文将介绍如何使用makefile编写项目并将其上传到git远程仓库。Makefile是一种用于自动化构建、编译和测试软件项目的工具,它可以......
  • Linux中-bash: /dev/null: Permission denied问题解决
    云上架构2021年08月06日09:19 ·  阅读682​今天在Centos7上运行如下命令 shell复制代码######添加hdfs用户#####useraddhdfs######切换至hdfs用户#####su-hdfs报如下错误 javascript复制代码-bash:/dev/null:Permissiondenied-bash......