centos 7系统服务、开机自动启动

自建服务:如nginx

一、新建 /lib/systemd/system/nginx.service (名称可以自定义)

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/opt/nginx/sbin/nginx -s reload
ExecStop=/opt/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target


[Unit]
Description=PostgreSQL RDBMS
Before=runlevel2.target
Before=runlevel3.target
Before=runlevel4.target
Before=runlevel5.target
Before=shutdown.target
After=network-online.target
After=network.service
Conflicts=shutdown.target

[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/home/src/postgresql-9.6.2/contrib/start-scripts/linux start
ExecStop=/home/src/postgresql-9.6.2/contrib/start-scripts/linux stop
ExecReload=/home/src/postgresql-9.6.2/contrib/start-scripts/linux reload

[Install]
WantedBy=multi-user.target


执行:

systemctl daemon-reload

systemctl 有 start,stop,restart,status,enable,disable,is-enabled


介绍:

[Unit]部分主要是对这个服务的说明,内容包括Description和After,Description用于描述服务,After用于描述服务类别

[Service]部分是服务的关键,是服务的一些具体运行参数的设置

    Type=forking是后台运行的形式

    PIDFile为存放PID的文件路径

    ExecStart为服务的具体运行命令

    ExecReload为重启命令

    ExecStop为停止命令

    PrivateTmp=True表示给服务分配独立的临时空间

注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!

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


二、设置nginx.service权限为754


三、相关命令

开机自动启动:

systemctl enable nginx.service


查看服务状态:

systemctl status nginx.service


查看所有失败的服务:

systemctl --failed


查看所有服务:

systemctl --list-all


查看所有启动的服务:

systemctl list-units --type=service


查看服务日志:

journalctl -xe


tomcat开机自动启动需要设置setclasspath.sh

export JAVA_HOME=/home/src/jdk1.8.0_101
export JRE_HOME=/home/src/jdk1.8.0_101/jre


systemctl介绍:

systemctl is-enabled iptables.service
systemctl is-enabled servicename.service #查询服务是否开机启动
systemctl enable *.service #开机运行服务
systemctl disable *.service #取消开机运行
systemctl start *.service #启动服务
systemctl stop *.service #停止服务
systemctl restart *.service #重启服务
systemctl reload *.service #重新加载服务配置文件
systemctl status *.service #查询服务运行状态
systemctl --failed #显示启动失败的服务

centos,自动启动 | 2018-02-19 07:15:24