当前位置: 首页 > news >正文

Linux(CentOS7)配置系统服务以及开机自启动

目录

前言

两种方式

/etc/systemd/system/ 

进入 /etc/systemd/system/ 文件夹

创建 nginx.service 文件

重新加载 systemd 配置文件

​编辑 配置开机自启

/etc/init.d/

进入 /etc/init.d/ 文件夹

创建 mysql 文件

编写脚本内容

添加/删除系统服务

配置开机自启

查看 chkconfig 下的开机自启动服务

​编辑总结

文件模板

脚本模板


前言

在服务器上安装各种软件,比如 nginx,mysql,redis 等等,如果没有配置环境变量,每次启动都需要进入到对应的安装目录下执行命令来启动。即使配置了环境变量,在启动时可能也需要指定某些启动参数,需要额外得输入,相对麻烦。

针对以上的问题,可以将制作成系统服务,通过 service 命令 或者 systemctl 命令来启动

service 服务名称 startsystemctl start 服务名称

两种方式

  1. /etc/systemd/system/ 
  2. /etc/init.d/

第一种即是在 /etc/systemd/system/ 文件夹下创建服务文件

第二种即是在 /etc/init.d/ 文件夹下创建服务文件

详情如下

/etc/systemd/system/ 

以创建 nginx 系统服务为例子

进入 /etc/systemd/system/ 文件夹

cd /etc/systemd/system/

创建 nginx.service 文件

vim nginx.service

写入以下内容

注意:路径需要替换成自己的安装路径

[Unit]
Description=Nginx HTTP Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重新加载 systemd 配置文件

systemctl daemon-reload

重新加载后,就能通过 service 或者 systemctl 来启动服务了

#启动服务
systemctl start nginx
#停止服务
systemctl stop nginx
#重启服务
systemctl restart nginx
#查看服务状态
systemctl status nginx

 配置开机自启

#开启开机自启动
systemctl enable nginx
#关闭开机自启动
systemctl disable nginx

/etc/init.d/

以创建 mysql 系统服务为例子

进入 /etc/init.d/ 文件夹

cd /etc/init.d/

创建 mysql 文件

vim mysql

编写脚本内容

脚本可以自己写,在此例中用的mysql,mysql 有提供一个启动脚本,直接复制即可

官方下载 mysql 包下,安装目录下的 support-files 下有一个 mysql.server 脚本

复制 mysql.server 内容到 /etc/init.d/mysql 

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

授权

chmod +x /etc/init.d/mysql

添加/删除系统服务

#添加系统服务
chkconfig --add mysql
#删除系统服务
chkconfig --del mysql

添加服务后,就能通过 service 或者 systemctl 名来来启动服务了 

配置开机自启

#开启开机自启动
chkconfig mysql on
#关闭开机自启动
chkconfig mysql off

查看 chkconfig 下的开机自启动服务

chkconfig --list

总结

两种方式都可以配置服务

第一种配置方式相对简单,只需在 /etc/systemd/system/ 文件夹下创建文件,复制模板后修改下命令,写入文件后重新加载下就行了

文件模板

[Unit]
Description=服务名称
After=network.target

[Service]
Type=forking
ExecStart=启动命令
ExecReload=重启命令
ExecStop=停止命令
PrivateTmp=true

[Install]
WantedBy=multi-user.target

第二种配置方式大同小异,在 /etc/init.d/ 文件夹下创建脚本,需要自己写启动脚本,更加地灵活,如果启动服务需要用到动态的启动参数,那么就可以用第二种方式来配置

脚本模板

#!/bin/bashcase $1 instart)#启动命令echo "service is started";;stop)#关闭命令echo "service is stop";;restart)#重启命令echo "service is started";;*)echo "start|stop|restart";;  
esac
exit 0

http://www.lryc.cn/news/329454.html

相关文章:

  • 0 决策树基础
  • Linux速览(2)——环境基础开发工具篇(其一)
  • AWS SES发送邮件时常见的错误及解决方法?
  • 视频基础学习三——视频帧率、码率与分辨率
  • Spring(详细介绍)
  • Kettle使用
  • 互联网摸鱼日报(2024-04-01)
  • pnpm比npm、yarn好在哪里?
  • 大前端-postcss安装使用指南
  • 全局UI方法-弹窗三-文本滑动选择器弹窗(TextPickDialog)
  • LibreOffice 将word,excel,PowerPoint文件转换PDF
  • 鱼眼相机的测距流程及误差分析[像素坐标系到空间一点以及测距和误差分析]
  • 谈谈Python中的列表、元组、字典和集合的主要区别和用法
  • 【WPF应用24】C#中的Image控件详解与应用示例
  • CTF题型 php://filter特殊编码绕过小汇总
  • 【嵌入式智能产品开发实战】(十二)—— 政安晨:通过ARM-Linux掌握基本技能【C语言程序的安装运行】
  • 网络编程的学习1
  • spark log4j日志文件动态参数读取
  • 设计模式,装修模式,Php代码演示,优缺点,注意事项
  • ubuntu下vscode ctrl+tab松开ctrl后不自动选中文件
  • 【云开发笔记No.19】关于中台架构(1)
  • 对于提高Web安全,WAF能有什么作用
  • Go 源码之 gin 框架
  • BM19 寻找峰值(二分查找)
  • 4.数组和切片【go】
  • Abaqus周期性边界代表体单元Random Sphere RVE 3D (Mesh)插件
  • 家庭记账本(源码+文档)
  • 深度学习评价指标(1):目标检测的评价指标
  • jmeter性能压测的标准和实战中会遇到的问题
  • 6-82 求链式线性表的倒数第K项