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

CentOS 7 开机自启汇总

1.Nginx

centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。关于Systemd的详情介绍在这里。

Systemd服务文件以 .service结尾,比如现在要建立nginx为开机启动,如果用yum install命令安装的,yum命令会自动创建nginx.service文件,直接用命令:

systemcel enable nginx.service

设置开机启动即可。

用源码编译安装的,所以要手动创建nginx.service服务文件。
开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:
在系统服务目录(/lib/systemd/system/)里创建nginx.service文件

vi /lib/systemd/system/nginx.service

 内容如下:

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

参数解释:

Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3.

再使用如下命令激活自启

systemctl enable nginx.service

2.NFS

nfs服务端:

chkconfig nfs on

chkconfig rpcbind on

systemctl enable rpcbind.service

systemctl enable nfs-server.service

nfs客户端:

vi /etc/fstab
192.168.1.210:/home/bbs /home/bbs nfs rw,tcp,intr 0 1

3.sh脚本

Java启动脚本

新建auto.sh

#!/bin/bash
echo "pc端开始休眠"
sleep 60
nohup java -jar /home/test.jar --server.port=8888 --spring.profiles.active=prod > /dev/null 2>&1 &

此脚本不要放在nfs共享目录,加上sleep延时启动,确保nfs启动成功后再启动java脚本.

授权

chmod +x auto.sh

把脚本加入/etc/rc.d/rc.local

vi /etc/rc.d/rc.local

在脚本最后加上

export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
nohup /home/auto.sh &

 这里特别要注意:因为我们java的环境是后启动的。所以如果要运行javaweb项目,则需要把JDK的初始化配置文件在这里重新定义一下。

同时这里要注意一下,脚本的启动要使用nohup的方式。防止关闭窗口后,服务也自动关停。

启动/停止/查看启动的结果:

systemctl start rc-local
systemctl stop rc-local
systemctl status rc-local

授权

chmod +x /etc/rc.d/rc.local

reboot测试

4.mysql

rpm安装方式,设置自启

systemctl enable mysqld.service


另附systemctl常见命令

启动一个服务:systemctl start test.service
关闭一个服务:systemctl stop test.service
重启一个服务:systemctl restart test.service
显示一个服务的状态:systemctl status test.service
开机自启服务:systemctl enable test.service
开机禁用自启服务:systemctl disable test.service
查看服务是否开机启动:systemctl is-enabled test.service;echo $?
查看已启动的服务列表:systemctl list-unit-files|grep enabled


 

相关文章:

  • ARM64架构栈帧回溯
  • 开发一个农场小游戏需要多少钱
  • Python经典游戏:乒乓球对战(单人+双人模式)
  • 单链表的实现(单链表的增删查改)
  • Redis从入门到精通(二十)Redis最佳实践(一)优雅的Key结构、拒绝BigKey
  • IPFS分布式存储系统
  • 软件需求分析报告(直接套用)
  • Android Studio六大基本布局详解
  • 架构设计实践:熟悉架构设计方法论,并动手绘制架构设计图
  • Microsoft Edge 越用越慢、超级卡顿?网页B站播放卡顿?
  • 新版vscode remote ssh不兼容老系统 (waiting for server log)
  • idea打开项目白屏
  • 高效使用Vscode(C++Python)
  • 从零备战蓝桥杯——二叉树及相关题目(基础篇)
  • 2022 年 TI 杯大学生电子设计竞赛具有自动泊车功能的电动车(B 题)
  • IDEA统计项目代码量
  • Linux--权限讲解
  • 牛客刷题总结——Python入门:输入输出、字符串、类型转换
  • 【计算机组成原理】原码 反码 补码 移码的转换
  • OpennVINS运行、评估笔记
  • 中国中封、三边封两用制袋机行业市场发展趋势分析
  • 以太坊质押时代到来,开发者机遇何在?
  • JVM之垃圾收集器
  • 第三篇文章:Docker命令
  • 秋招 2022 年面试不用愁,速看 BATJ 最新 Java 面试题整理合集
  • react面试题
  • STM32F103移植FreeRTOS必须搞明白的系列知识---3(堆栈)
  • 人脑能否重启?
  • 【微信小程序】创建自己的小程序
  • Jmeter基于Java请求的二次开发(结合java代码测Dubbo接口)
  • Redis哨兵模式与Redis缓存穿透、击穿和雪崩
  • python——全局解释器锁(GIL)