셸 스 크 립 트 nginx 설치 및 시작 닫 기 nginx
전제: yum 소스 설정 완료, wget 명령 정상 사용, 장치 외부 네트워크 가능
스 크 립 트 는 다음 과 같 습 니 다:
#!/bin/bash
#Author: Jiangfeng
#Created Time: 2019/08/03
#nginx service manage script
#
softname=nginx-1.17.2.tar.gz
soft=nginx-1.17.2
# Nginx
cd /usr/local/src
wget http://nginx.org/download/nginx-1.17.2.tar.gz
tar xf $softname
if [ $? != 0 ];then
echo " , wget "
exit 1
fi
#
cd $soft
yum install -y pcre-devel zlib-devel openssl-devel gcc
if [ $? != 0 ];then
echo " , yum"
exit 2
fi
#
./configure --prefix=/usr/local/nginx --with-http_ssl_module
if [ $? != 0 ];then
echo "$soft "
exit 3
fi
#
make && make install
if [ $? != 0 ];then
echo " "
exit 4
cd /usr/local/src
rm -f $softname
rm -rf $soft
2. 셸 스 크 립 트 로 nginx 시작 | 닫 기 | 재 부팅 | 프로필 다시 불 러 오기 (reload) | 상태 보기
전제: nginx 설치 완료 및 / usr / local 디 렉 터 리 에서
스 크 립 트 이름 은 "nginx" 입 니 다. / etc / init. d / 디 렉 터 리 에 놓 습 니 다.
사용 방법:
/etc/init.d/nginx start|stop|restart|reload|status
스 크 립 트 는 다음 과 같 습 니 다:
#!/bin/bash
#Author: Jiangfeng
#Created Time: 2019/08/03
#nginx service manage script
#variable
##nginx
nginx_path=/usr/local/nginx
##nginx
nginxd=$nginx_path/sbin/nginx
##nginx PID
nginx_pid_file=$nginx_path/logs/nginx.pid
# shell
if [ -f /etc/init.d/functions ];then
. /etc/init.d/functions
else
echo "not find file:/etc/init.d/functions"
eixt 1
fi
# nginx PID
if [ -f $nginx_pid_file ];then
pid=`cat $nginx_pid_file`
nginx_process_num=`ps -ef | grep $pid | grep -v "grep" | wc -l`
fi
#
##Nginx
start () {
## nginx
if [ -f $nginx_pid_file ] && [ $nginx_process_num -ne 0 ];then
echo "Nginx "
else
## pid , , nginx, pid , nginx pid
if [ -f $nginx_pid_file ] && [ $nginx_process_num -eq 0 ];then
rm -f $nginx_pid_file
action "nginx start" $nginxd
fi
action "nginx start" $nginxd
fi
}
##Nginx
stop () {
## Nginx ,
if [ -f $nginx_pid_file ] && [ $nginx_process_num -eq 0 ];then
echo "Nginx "
exit 2
else
action "nginx stop" killall -s QUIT nginx
rm -f $nginx_pid_file
fi
}
##Nginx
restart () {
stop
sleep 1
start
if [ $? -eq 0 ];then
action "nginx "
fi
}
## , pid
reload () {
if [ -f $nginx_pid_file ] && [ $nginx_process_num -ne 0 ];then
action "nginx reload" killall -s HUP nginx
else
echo "Nginx "
fi
}
## Nginx
status () {
tmp=`mktemp nginx.XXXX`
curl -s -I 127.0.0.1 1> $tmp
#curl -I 127.0.0.1 > $tmp &>/dev/null
sed -i "s/\r//" $tmp
val=`grep "HTTP" $tmp | cut -d ' ' -f3`
if [ "$val" == "OK" ];then
echo "Nginx start"
else
echo "Nginx stop"
fi
rm -f $tmp
}
#main
case $1 in
start) start;;
stop) stop;;
restart) restart;;
reload) reload;;
status) status;;
*) echo "USAGE: $0 start|stop|restart|reload|status";;
esac
다음으로 전송:https://www.cnblogs.com/feng0919/p/11313648.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.