记录一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

然后就是重启。

相关推荐
知星小度S26 分钟前
系统核心解析:深入文件系统底层机制——Ext系列探秘:从磁盘结构到挂载链接的全链路解析
linux
2401_8904430231 分钟前
Linux 基础IO
linux·c语言
字节数据平台1 小时前
刚刚,火山引擎多模态数据湖解决方案发布大数据运维Agent
大数据·运维·火山引擎
智慧地球(AI·Earth)1 小时前
在Linux上使用Claude Code 并使用本地VS Code SSH远程访问的完整指南
linux·ssh·ai编程
原神启动12 小时前
Docker 场景化作业:生产环境容器操作实训
运维·docker·容器
云老大TG:@yunlaoda3602 小时前
如何通过华为云国际站代理商CSBS进行备份策略设置?
运维·数据库·华为云
老王熬夜敲代码2 小时前
解决IP不够用的问题
linux·网络·笔记
zly35003 小时前
linux查看正在运行的nginx的当前工作目录(webroot)
linux·运维·nginx
QT 小鲜肉3 小时前
【Linux命令大全】001.文件管理之file命令(实操篇)
linux·运维·前端·网络·chrome·笔记
呼啦啦呼啦啦啦啦啦啦3 小时前
docker制作镜像的两种方式(保姆级教学)
运维·docker·容器