网站首页 > 技术文章 正文
概述
一般我们打算把一些服务,例如 mysql,tomcat,Nginx设置开机自启动的话一般是有三四种方式来实现,下面以mysql,tomcat,Nginx做例子来演示。
一、使用定时任务 cron 命令
创建定时任务来运行 .sh 脚本。在shell 脚本中编写nginx,mysql 等的启动脚本。
这里注意shell脚本得先调试成功。
二、Linux使用supervisor 来管理进程
supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控、管理进程。常用于管理与某个用户或项目相关的进程。
组成部分
supervisord:服务守护进程
supervisorctl:命令行客户端
Web Server:提供与supervisorctl功能相当的WEB操作界面
XML-RPC Interface:XML-RPC接口
supervisor 安装,基本配置详细步骤可以参考前面内容:
- 安装 supervisor 程序。
- 配置 supervisor 配置文件。
- supervisor 开机自启动。
supervisor 配置文件 Nginx,tomcat等,可以参考:
#! /bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
PROGNAME=supervisord
DAEMON=/usr/bin/$PROGNAME
CONFIG=/etc/$PROGNAME.conf
PIDFILE=/tmp/$PROGNAME.pid
DESC="supervisord daemon"
SCRIPTNAME=/etc/init.d/$PROGNAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
start()
{
echo -n "Starting $DESC: $PROGNAME"
$DAEMON -c $CONFIG
echo "..."
}
stop()
{
echo -n "Stopping $DESC: $PROGNAME"
supervisor_pid=$(cat $PIDFILE)
kill -15 $supervisor_pid
echo "..."
}
status()
{
ps -ef|grep supervisord
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|status}" >&2
exit 1
;;
esac
exit 0
三、使用Linux 服务器自带的 service 自动启动服务。
Linux 常用的发行版本:Redhat 系列 (如Centos) 和 Debian系列(如debina 和 Ubuntu) 等。具体可百度 Linux版本。
Linux 系统service 启动的服务命令因 Linux 版本不同而不同。
- Linux 系统进程保存路径:/etc/init.d ,这个目录下保存用service 来操作的服务。
- 编写Nginx,tomcat,mysql 等 shell 脚本,将这些脚本放入/etc/init.d 路径下。
- 将脚本加入自启动进程。Redhat 系如 centos 系统中使用命令 chkconfig,debina 系如 Ubuntu 系统中使用命令 sysv-rc-conf
四、修改 /etc/rc.local 此文件。
在 /etc/rc.local 中 添加如下一行
/opt/apache-tomcat-7.0.29/bin/startup.sh ---软件的启动脚本的路径。
(脚本绝对路径)
注意:要添加在exit 0上边,reboot试试。
一般用上面几个方式就可以配置某项服务开机自启了,后面再分享各个服务对应的一些启动脚本,感兴趣的朋友可以关注一下~
猜你喜欢
- 2024-10-20 如何在 CentOS7 下改造MySQL开机启动服务?
- 2024-10-20 MySQL日志篇(mysql的日志文件在哪里)
- 2024-10-20 如何快速定位MySQL 的错误日志(Error Log)?
- 2024-10-20 小白自学MySQL笔记(一):Mac环境的安装和启动
- 2024-10-20 MySQL执行计划主要通过EXPLAIN命令来查看
- 2024-10-20 MySQL service启动脚本浅析(r12笔记第59天)
- 2024-10-20 借助shell脚本,解决MySQL服务自动停止的问题
- 2024-10-20 MySQL 还在跑任务时,突然断电,数据库崩了又好像没崩……
- 2024-10-20 超详细的mysql数据库查询缓存总结,值得收藏
- 2024-10-20 一文看懂mysql数据库本质及存储引擎innodb+myisam
- 11-22exe文件不是有效的win32应用程序
- 11-22装机吧在线系统重装工具(装机吧app)
- 11-22win7系统下载在哪下(win7在那下载)
- 11-22pe镜像文件iso下载(firpe镜像文件iso下载)
- 11-22内网安全管理系统(北信源内网安全管理系统)
- 11-22重装系统怎么恢复原来的系统
- 11-22winxp32位(win xp 32位)
- 11-22qq恢复官网登录(qq恢复官方网址)
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
