title: centos中使用systemd控制服务启停 #标题tags: #标签
date: 2021-12-17
categories: linux大杂烩 # 分类

记录下常见服务使用systemd来控制启停的配置文件,文中所有文件,放在/etc/systemd/system/ 目录下,然后执行systemctl daemon-reload 即可使用systemctl来控制服务的启停。

记录中的某些启动用户、用户组、路径或者启动命令需要自行按照实际去修改一下,请注意!!!

mysql.service

  1. [Unit]
  2. Description=MySQL Server mysqld-3306
  3. Documentation=man:mysqld(8)
  4. Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
  5. After=network.target
  6. After=syslog.target
  7. [Install]
  8. WantedBy=multi-user.target
  9. [Service]
  10. User=mysql
  11. Group=mysql
  12. Type=forking
  13. PIDFile=/var/run/mysqld/mysqld-3306.pid
  14. # Disable service start and stop timeout logic of systemd for mysqld service.
  15. TimeoutSec=0
  16. # Execute pre and post scripts as root
  17. PermissionsStartOnly=true
  18. # Needed to create system tables
  19. ExecStartPre=/usr/bin/mysqld_pre_systemd
  20. # Start main service
  21. ExecStart=/usr/sbin/mysqld --defaults-file=/data/mysql-3306/my.cnf --daemonize --pid-file=/var/run/mysqld/mysqld-3306.pid $MYSQLD_OPTS
  22. # Use this to switch malloc implementation
  23. EnvironmentFile=-/etc/sysconfig/mysql
  24. # Sets open_files_limit
  25. LimitNOFILE = 50000
  26. Restart=on-failure
  27. RestartPreventExitStatus=1
  28. PrivateTmp=false

zookeeper.service

[Unit]
Description=Apache Zookeeper
After=network.target

[Service]
Type=forking
User=zookeeper
Group=zookeeper
Restart=always
RestartSec=0s
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
ExecReload=/usr/local/zookeeper/bin/zkServer.sh restart
PIDFile=/data/zookeeper/data/zookeeper_server.pid
KillMode=none

[Install]
WantedBy=multi-user.target