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

然后就是重启。

相关推荐
DianSan_ERP1 小时前
如何通过抖店订单接口实现订单状态管理与履约自动化?
运维·自动化
b***25111 小时前
18650电池点焊机:电阻焊技术如何决定电池组的成败|深圳比斯特自动化
运维·自动化
原来是猿2 小时前
网络计算器:理解序列化与反序列化(中)
linux·运维·服务器·网络·tcp/ip
前端老曹2 小时前
Docker 从入门到放弃:完整指南
运维·docker·容器
AOwhisky2 小时前
虚拟化技术学习笔记
linux·运维·笔记·学习·虚拟化技术
rabbit_pro3 小时前
Docker compose部署Ollama使用模型
linux·运维·docker
笑洋仟5 小时前
docker的overlay2目录占用磁盘空间很大,清理办法
运维·docker·容器
木雷坞5 小时前
2026 年 5 月国内可用 Docker 镜像源列表与配置方法
运维·docker·容器
Irissgwe6 小时前
六、Ext系列文件系统(2.核心原理与应用)
linux·分区··inode·软硬连接·路径缓存·ext系列文件
2301_780789666 小时前
“数字珍珠港”再现:西北能源基地DNS篡改事件深度复盘与防护升级
运维·服务器·网络·tcp/ip·网络安全·智能路由器·能源