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

然后就是重启。

相关推荐
幸运狗头17 分钟前
Linux学习-基于TCP实现群聊
linux·学习·tcp/ip·群聊
渡己(Sorin)20 分钟前
Ubuntu有限网口无法使用解决方法
linux·运维·ubuntu
不懂机器人21 分钟前
linux网络编程-----TCP服务端并发模型(epoll)
linux·网络·tcp/ip·算法
麦聪聊数据36 分钟前
能源行业数据库远程运维安全合规实践:Web化平台的落地经验
运维·数据库·sql·安全·数据服务
qq_2970756739 分钟前
网络安全测试(一)Kali Linux
linux·运维·服务器
diablobaal2 小时前
云计算学习100天-第28天
运维·服务器·学习
wuyang-ligerj2 小时前
BGP路由协议(一):基本概念
运维·网络·网络协议·智能路由器
Adorable老犀牛2 小时前
一键编译安装zabbix(centos)
linux·centos·zabbix
2401_831501734 小时前
Linux之Docker虚拟化技术(一)
java·linux·docker
阳光阴郁大boy4 小时前
前端实现Linux查询平台:打造高效运维工作流
linux·运维·服务器