记录一ubuntu22.04做开机启动mysql、nginx、redis

设了好几种办法,这是我测试成功的

原理:

自定义服务文件,添加到系统服务,通过Systemctl管理

一、配置启动脚本

先在cd /www/目录下新建脚本 ( 这是我放的启动目录,你们随意)

vim startup.sh

内容:

复制代码
#!/bin/bash

source /etc/profile     #先加载环境变量
/etc/init.d/mysqld start #启动mysql
/usr/local/nginx/sbin/nginx  #启动nginx

bash /www/python/run.sh     #启动python

cd /usr/local/redis-7.2.4
/usr/local/redis-7.2.4/src/redis-server    /usr/local/redis-7.2.4/redis.conf  &
cd /www/java 
bash  start_java.sh    #启动java

给脚本权限

复制代码
chmod +x  startup.sh

将要开机启动的服务都放一个脚本里面(你说为什么不做成服务开机启动,tar包编译安装的,添加服务添加了半天也没加上,要不就是加上不起作用。。。。索性就都放一个里面启动吧)

先测试上面的脚本能正常启动,我是一个一个试的,都成功了再放一块。

二、添加到系统服务

sudo vim /lib/systemd/system/startup.service

复制代码
[Unit]
Description=startup service
After=network.target network-online.target syslog.target
Wants=network.target network-online.target

[Service]
Type=simple

#启动服务的命令(命令必须写绝对路径)
ExecStart=bash /www/startup.sh

[Install]
WantedBy=multi-user.target

命令只写了启动的。

三、添加开机自启

复制代码
systemctl enable startup.service

然后就是重启。

相关推荐
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ6 分钟前
linux打包指令和移动指令
linux·运维·服务器
菜鸟12号13 分钟前
详解Linux下多进程与多线程通信(一)
linux·c语言·嵌入式·进程与线程
羑悻的小杀马特2 小时前
一扇门铃,万向感应——用 eventfd 实现零延迟通信
linux·运维·服务器·eventfd
x县豆瓣酱5 小时前
【第五节】部署http接口到ubuntu server上的docker内
ubuntu·http·docker
豆是浪个6 小时前
Linux(Centos 7.6)命令详解:usermod
linux·运维·centos
极地星光6 小时前
网络检测:Linux下实时获取WiFi与热点状态
linux·网络
kikikidult7 小时前
Ubuntu20.04运行openmvg和openmvs实现三维重建(未成功,仅供参考)
人工智能·笔记·ubuntu·计算机视觉
Continue_with9 小时前
docker设置代理
运维·docker·容器
彭泽布衣9 小时前
远程登录docker执行shell报错input is not a terminal问题
运维·docker·容器
霖009 小时前
FPGA通信设计十问
运维·人工智能·经验分享·vscode·fpga开发·编辑器