案例十:shell编写nginx服务启动程序

2022-12-19 0 1,011

采用源代码包加装的Nginx没配套措施采用”service nginx start”或”/etc/init

采用源代码包加装的Nginx没配套措施采用”service nginx start”或”/etc/init.d/nginx start”展开操作方式和掌控,因此写了下列的服务项目掌控JAVA,该JAVA有如下表所示快捷键:

start    开启

stop    暂停

reload   空载

restart    重新启动

status   状况

test    检查和命令行

JAVA一

建立JAVA文档并加进继续执行职权

touch /etc/init.d/nginx

chmod +x /etc/init.d/nginx

撰写JAVA文本

#!/bin/bash

# chkconfig: – 85 15

# description: Nginx server control script

# processname: nginx

# config file: /usr/local/nginx/conf/nginx.conf

# pid file: /usr/local/nginx/logs/nginx.pid

#

# eastmoney public tools

# version: v1.0.0

# create by XuHoo, 2016-9-14

#

# source function library

. /etc/rc.d/init.d/functions

NGINX_NAME=”nginx”

NGINX_PROG=”/usr/local/sbin/nginx”

NGINX_PID_FILE=”/usr/local/nginx/logs/nginx.pid”

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

NGINX_LOCK_FILE=”/var/lock/subsys/nginx.lock”

# check current user

[ “$USER” != “root” ] && exit 1

start() {

status

if [[ $? -eq 0 ]]; then

echo $”Nginx (PID $(cat $NGINX_PID_FILE)) already started.”

return 1

fi

echo -n $”Starting $NGINX_NAME: “

daemon $NGINX_PROG -c $NGINX_CONF_FILE

retval=$?

echo

[ $retval -eq 0 ] && touch $NGINX_LOCK_FILE

return $retval

}

stop() {

status

if [[ $? -eq 1 ]]; then

echo “Nginx server already stopped.”

return 1

fi

echo -n $”Stoping $NGINX_NAME: “

killproc $NGINX_PROG

retval=$?

echo

[ $retval -eq 0 ] && rm -f $NGINX_LOCK_FILE

return $retval

}

restart() {

stop

sleep 1

start

retval=$?

return $retval

}

reload() {

echo -n $”Reloading $NGINX_NAME: “

killproc $NGINX_PROG -HUP

retval=$?

echo

return $retval

}

status() {

netstat -anpt | grep “/nginx” | awk {print $6} &> /dev/null

if [[ $? -eq 0 ]]; then

if [[ -f $NGINX_LOCK_FILE ]]; then

return 0

else

return 1

fi

fi

return 1

}

_status() {

status

if [[ $? -eq 0 ]]; then

state=`netstat -anpt | grep “/nginx” | awk { print $6 }`

echo $”Nginx server status is: $state”

else

echo “Nginx server is not running”

fi

}

test() {

$NGINX_PROG -t -c $NGINX_CONF_FILE

retval=$?

return $retval

}

case “$1” in

start)

start

;;

stop)

stop

;;

reload)

reload

;;

restart)

restart

;;

status)

_status

;;

test)

test

;;

*)

echo “Usage: { start | stop | reload | restart | status | test }”

exit 1

esac

将JAVA加进到系统服务项目并设置开机开启

chkconfig –add nginx

chkconfig –level 3 nginx on

JAVA二

[root@localhost ~]# cd /usr/local/nginx/conf/

[root@localhost conf]# ls

fastcgi.conf fastcgi_params koi-utf mime.types nginx.conf scgi_params uwsgi_params win-utf

fastcgi.conf.default fastcgi_params.default koi-win mime.types.default nginx.conf.default scgi_params.default uwsgi_params.default

备份主命令行

[root@localhost conf]# cp nginx.conf nginx.conf.origin

[root@localhost conf]# vim nginx.conf

#去除#pid logs/nginx.pid;前面#号

[root@localhost conf]# netstat -anpt | grep 80

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19108/nginx

[root@localhost conf]# kill -3 19108

[root@localhost conf]# netstat -anpt | grep 80

[root@localhost conf]# nginx

[root@localhost conf]# netstat -anpt | grep 80

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19864/nginx

[root@localhost conf]# cd ../logs/

[root@localhost logs]# ls

access.log error.log nginx.pid

[root@localhost logs]# cat nginx.pid

19864

编辑写服务项目JAVA

#!/bin/bash

#chkconfig: 2345 99 20

#description:Nginx Server Control Scripts shell

PROG=”/usr/local/nginx/sbin/nginx”

PIDF=”/usr/local/nginx/logs/nginx.pid”

case “$1” in

start)

if [ -f $PIDF ];

then

echo “Nginx正在运行…”

else

$PROG

fi

;;

stop)

if [ -f $PIDF ];

then

kill -3 $(cat $PIDF)

rm -f $PIDF

else

echo “Nginx正在暂停…”

fi

;;

restart)

$0 stop

$0 start

;;

reload)

if [ -f $PIDF ];

then

kill -1 $(cat $PIDF)

else

echo “Nginx正在暂停…重新加载”

fi

;;

status)

if [ -f $PIDF ];

then

echo “Nginx正在运行”

else

echo “Nginx暂停”

fi

;;

*)

echo “Usage: $0 (start|stop|restart|reload|status)”

exit 1

esac

exit 0

加进继续执行职权

[root@localhost ~]# chmod +x /etc/init.d/nginx

#将JAVA加进到系统服务项目并设置开机开启

[root@localhost ~]# chkconfig –add nginx

加进为服务项目开启项

[root@localhost ~]# chkconfig –list nginx

nginx 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

[root@localhost ~]# chkconfig –level 3 nginx on

测试JAVA是否能够继续执行

[root@localhost ~]# service nginx start

Nginx正在运行…

[root@localhost ~]# service nginx restart

[root@localhost ~]# service nginx stop

[root@localhost ~]# service nginx stop

Nginx正在暂停…

[root@localhost ~]# service nginx start

[root@localhost ~]# service nginx status

Nginx正在运行

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务