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

然后就是重启。

相关推荐
春风霓裳34 分钟前
ubuntu磁盘管理、磁盘扩容
linux·运维·ubuntu
广州服务器托管1 小时前
WIN11.26H1.27982.1中简优化版 45进程(2025.11.8)
运维·人工智能·计算机网络·云计算·可信计算技术
直有两条腿1 小时前
【操作系统】非连续内存分配
linux
Kingsaj1 小时前
uni-app打包app -- 在用户首次启动 App 时,强制弹出一个“用户协议与隐私政策”的确认对话框。
服务器·ubuntu·uni-app
拾心211 小时前
【云运维】LNMP 架构部署与应用
运维·架构
---学无止境---2 小时前
Linux交换缓存深度解析:从条目编码到缓存管理的完整机制
linux
---学无止境---2 小时前
Linux内存回收与TLB管理:高效释放与缓存刷新的精密协作
linux
亮子AI2 小时前
【Nginx】怎样清除 Nginx 的缓存?
运维·nginx·缓存
硬核子牙2 小时前
硬盘第一关:MBR VS GPT
linux
LCG元2 小时前
Linux 日志分析全攻略:快速从海量日志中定位问题
linux