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

前言
平时发布项目后,服务器因为还部署了多项目、以及调试、断电、一些场景需要重启,每次总是手动把数据库等软件一个个的启动,很麻烦,于是乎慢慢整理了一些常用的脚本!设置开机启动的方式也有很多种,这里只列举了我自己常用的方法。如果有不足的地方大家可以在评论区留言和讨论[奸笑]
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
这个记录服务器每次重启后的开机时间,好让自己知道服务器什么时候被开机过
(以此来判断是否有其他热心同事给重启或关机过[狗头])
所以
设置开机自启动的方式很多,这里还没列举最全的方%


下一篇:没有了
相关文章:


