服务器部署流程(服务器部署程序开机自启)

前言

平时发布项目后,服务器因为还部署了多项目、以及调试、断电、一些场景需要重启,每次总是手动把数据库等软件一个个的启动,很麻烦,于是乎慢慢整理了一些常用的脚本!设置开机启动的方式也有很多种,这里只列举了我自己常用的方法。如果有不足的地方大家可以在评论区留言和讨论[奸笑]

PS:公司内网服务器!也有用云服务器,都需要。

环境

centos,适用于大多数版本

服务器部署流程(服务器部署程序开机自启)

mysql开机自启动

设置开机自动启动:

1、将服务文件拷贝到init.d下,并重命名为mysqld

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

2、赋予可执行权限

chmod +x /etc/init.d/mysqld

3、添加服务

chkconfig –add mysqld

4、显示服务列表

chkconfig –list

5、如果看到mysql的服务,并且3,4,5都是开的话则成功,如果是关,则键入

chkconfig –level 345 mysqld on

6、重启生效,测试效果

reboot

nginx开机自启动

服务器部署流程(服务器部署程序开机自启)

1.在/etc/init.d下面创建NGINX文件

内容详细见脚本

2.授权

chmod +x /etc/init.d/nginx

3.添加服务

chkconfig –add nginx

#如果还没有开启3,4,5 可以用这个直接打开

chkconfig nginx on

4.显示服务列表

chkconfig –list

5.重启服务器测试

reboot

6.脚本如下:

#!/bin/sh
#
# nginx – this script starts and stops the nginx daemon
#
# chkconfig: – 85 15
# description: NGINX is an HTTP(S) server, HTTP(S) reverse
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ “$NETWORKING” = “no” ] && exit 0

nginx=”/usr/local/nginx/sbin/nginx”
prog=$(basename $nginx)

NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {
# make required directories
user=`$nginx -V 2>&1 | grep “configure arguments:.*–user=” | sed ‘s/[^*]*–user=([^ ]*).*/1/g’ -`
if [ -n “$user” ]; then
if [ -z “`grep $user /etc/passwd`” ]; then
useradd -M -s /bin/nologin $user
fi
options=`$nginx -V 2>&1 | grep ‘configure arguments:’`
for opt in $options; do
if [ `echo $opt | grep ‘.*-temp-path’` ]; then
value=`echo $opt | cut -d “=” -f 2`
if [ ! -d “$value” ]; then
# echo “creating” $value
mkdir -p $value && chown -R $user $value
fi
fi
done
fi
}

start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $”Starting $prog: ”
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $”Stopping $prog: ”
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
configtest || return $?
stop
sleep 1
start
}

reload() {
configtest || return $?
echo -n $”Reloading $prog: ”
killproc $prog -HUP
retval=$?
echo
}

force_reload() {
restart
}

configtest() {
$nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
status $prog
}

rh_status_q() {
rh_status >/dev/null 2>&1
}

case “$1″ in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $”Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}”
exit 2
esac

Redis开机启动

服务器部署流程(服务器部署程序开机自启)

1、创建redis文件脚本,并在/etc/init.d下面文件写入

2、授权

chmod +x /etc/init.d/redis

3、添加服务

chkconfig –add redis

4、显示服务列表

chkconfig –list

5、如果看到redis的服务,并且3,4,5都是开的话则成功,如果是关,则键入

chkconfig –level 345 redis on

脚本如下:

#!/bin/sh
# chkconfig: 2345 10 90
# description: Start and Stop redis

REDISPORT=6379
EXEC=/home/redis/redis-5.0-rc4/src/redis-server
CLIEXEC=/home/redis/redis-5.0-rc4/src/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF=”/home/redis/redis-5.0-rc4/src/redis.conf”
case “$1” in
start)
if [ -f $PIDFILE ]
then
echo “$PIDFILE exists, process is already running or crashed”
else
echo “Starting Redis server…”
$EXEC $CONF &
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo “$PIDFILE does not exist, process is not running”
else
PID=$(cat $PIDFILE)
echo “Stopping …”
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo “Waiting for Redis to shutdown …”
sleep 1
done
echo “Redis stopped”
fi
;;
restart)
“$0” stop
sleep 3
“$0” start
;;
*)
echo “Please use start or stop or restart as first argument”
;;
esac

java程序开机自启动

1.编写脚本init-java.sh 名字自己取都行

找个地方放好,比如/home/init/init-java.sh

2.进入配置目录

cd /etc/rc.d/

编辑rc.local

vi rc.local

加入内容:

/home/init/init-jar.sh

保存退出:

:wq!

加入了强制!

然后授权

chmod +x /etc/rc.d/rc.local

3.重启测试

reboot

脚本如下:

# !/bin/bash
## JDK start 配置自己服务器的JDK环境
export JAVA_HOME=/home/java/jdk1.8.0_181
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin
## JDK end
echo 发生重启-时间: $(date “+%Y-%m-%d %H:%M:%S”) >> msg.txt
#没有日志重定向
nohup java -jar /home/demo-1.0-SNAPSHOT.jar > /dev/null 2>&1 &

JAVA_HOME填写自己服务器的java环境

echo 发生重启-时间: $(date “+%Y-%m-%d %H:%M:%S”) >> msg.txt

这个记录服务器每次重启后的开机时间,好让自己知道服务器什么时候被开机过

(以此来判断是否有其他热心同事给重启或关机过[狗头])

所以

设置开机自启动的方式很多,这里还没列举最全的方%

(19)
打赏 微信扫一扫 微信扫一扫
上一篇 2022年1月3日
下一篇 2022年1月3日

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们,一经查实,本站将立刻删除。