centos 7 nginx 서비스 설정

7695 단어 nginx
centos 7 과 centos 6.5 는 용법 에 있어 서 약간의 차이 가 있 기 때문에 사용자 정의 서비스 도 약간의 차이 가 있다.
저 자 는 centos 6.5 를 기반 으로 한 서비스 설정 방법 을 찾 아 보 았 는데 centos 7 에 적용 할 수 없 음 을 발견 했다.
centos 7 nginx 서비스 설정
1. cd / etc / init. d / / 이 아래 에 저 장 된 서 비 스 는 모두 시스템 의 서비스 입 니 다. 이 설정 만 있 으 면 서비스 2, vi nginx / / 새 nginx 서비스 파일 을 조작 할 수 있 습 니 다.직접 복사 하면 파일 헤더 몇 줄 의 내용 이 부족 할 수 있 습 니 다. 4. 파일 저장 (esc - >: > wq!) 5. systemctl daemon - reload / / 시스템 서비스 6, chmod 755 nginx / / 서비스 파일 에 권한 부여 7, chkconfig - add nginx / / 이 서버 의 작 동 을 설정 합 니 다. 8. 다음 과 같은 몇 가지 서 비 스 를 실행 하 는 방법 을 선택 하 십시오.  1) service nginx start / / 시작  2) service nginx stop  //정지  3) service nginx reload / / 설정 파일 다시 불 러 오기  4) service nginx restart / / 재 부팅
다음은 작가 가 실험 을 통 해 centos 7 - nginx 서 비 스 를 성공 적 으로 설정 할 수 있 는 스 크 립 트 파일 입 니 다.
#! /bin/bash
#chkconfig: - 85 15
PATH=/env/nginx
DESC="NGINX"
NAME=nginx
DAEMON=$PATH/$NAME
CONFIGFILE=$PATH/$NAME.conf
PIDFILE=$PATH/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE
if [ $? -eq 0 ];then
 echo -n "nginx-pid["
 echo -n $PIDFILE
 echo -n "] started successfully"
else
 echo -n "nginx already running"
fi
echo -e "."
}
do_stop() {
$DAEMON -s stop
if [ $? -eq 0 ];then
 echo -n "nginx-pid["
 echo -n $PIDFILE
 echo -n "] stoped successfully"
else
 echo -n "nginx not running"
fi
echo -e "."
}
do_reload() {
$DAEMON -s reload
if [ $? -eq 0 ];then
 echo -n "nginx-pid["
 echo -n $PIDFILE
 echo -n "] reload successfully"
else
 echo -n "nginx can't reload"
fi
echo -e "."
}
case "$1" in
start)
echo -n "Starting $DESC: "
do_start
;;
stop)
echo -n "Stopping $DESC: "
do_stop
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
;;
*)
echo "UNVALID OPERATION:  Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0

해설 하 다
#! /bin / bash / / 이 스 크 립 트 는 / bin / bash 를 사용 하여 실행 을 설명 합 니 다. \ #!이 스 크 립 트 의 셸 경 로 를 설명 하 는 특수 한 표시 자 입 니 다. \ #! /bin / sh \ # chkconfig: - 8515 / / chkconfig 명령 은 서로 다른 실행 단계 의 시스템 서 비 스 를 업데이트, 조회, 수정 하 는 데 사 용 됩 니 다. - 모든 level, 85 시작 순 서 를 닫 는 것 을 의미 합 니 다. 15 종료 순서 PATH = / env / nginx / / 원본 코드 로 설 치 된 nginx 의 루트 디 렉 터 리 DESC = "NGINX" / / 설명, 루트 취향 에 따라 NAME = nginx 를 가 져 옵 니 다.   //nginx 의 실행 가능 한 파일 이름 DAEMON = $PATH / $NAME / nginx 실행 가능 한 파일 전체 경로 (설치 할 때 지정 한) CONFIGFILE = $PATH / $NAME. conf / nginx. conf 설정 파일 전체 경로 (설치 할 때 지정 한) PIDFILE = $PATH / $NAME. pid  //ngix. pid 파일 의 전체 경로 (설치 할 때 지정): 프로 세 스 번호 파일 을 저장 하여 nginx 를 시작 할 때 만 들 고, nginx 를 멈 출 때 SCRIPTNAME = / etc / init. d / $NAME / / nginx 시스템 서비스 파일 위치 set - e 를 삭제 합 니 다.  //명령 이 0 이 아 닌 상태 로 종료 되면 셸 을 종료 합 니 다.주요 역할 은 스 크 립 트 실행 이 예상 치 못 한 상황 이 발생 했 을 때 즉시 종료 하여 오류 가 무시 되 지 않도록 하 는 것 입 니 다. 최종 결과 가 정확 하지 않 습 니 다. [- x "$DAEMON"] | | exit 0 / - x filename 이 filename 을 실행 할 수 있다 면 진짜 do 입 니 다.start () {$DAEMON - c $CONFIGFILE / / nginx 를 시작 합 니 다. 시작 형식 은 공식 적 으로 제공 되 며 지정 한 프로필 로 nginxif [$? - eq 0] 를 시작 합 니 다. then   //실행 성공 여 부 를 판단 합 니 다. 0 성공, 0 실패 가 아 닙 니 다. $? 위 명령 의 반환 결과 나 상 태 를 말 합 니 다. echo -n "nginx-pid[" echo -n $PIDFILE echo -n "] started successfully"else echo -n "nginx already running"fiecho -e "."}do_stop() {$DAEMON -s stop  //nginxif [$? - eq 0]; then echo -n "nginx-pid[" echo -n $PIDFILE echo -n "] stoped successfully"else echo -n "nginx not running"fiecho -e "."}do_reload () {$DAEMON - s reload / / nginx 를 다시 불 러 와 설정 파일 을 if [$? - eq 0] 로 적용 합 니 다. then echo -n "nginx-pid[" echo -n $PIDFILE echo -n "] reload successfully"else echo -n "nginx can't reload"fiecho -e "."}case "$1" in   //$+숫자 는 일반적으로 위치 매개 변수의 용법 입 니 다. $1. 첫 번 째 인 자 를 가 져 옵 니 다. $2 는 두 번 째 인 자 를 가 져 옵 니 다..........................................................0 스 크 립 트 이름 을 가 져 오 는 데 사 용 됩 니 다.이에 따라 $+ 숫자 가 함수 에 사용 되면 함수 의 입력 인 자 를 가 져 오 는 것 을 나타 내 고 $0 은 함수 이름 start) echo - n "Starting $DESC:" dostart;;stop)echo -n "Stopping $DESC: "do_stop;;reload|graceful)echo -n "Reloading $DESC configuration..."do_reload;;restart)echo -n "Restarting $DESC: $NAME"do_stopdo_start;;*)echo "UNVALID OPERATION:  Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2exit 3;;esacexit 0
넓히다
1、case
case       
  :
case var in     var  
    patten 1)       1 a|b|c  | or  
    command...         
    ;;            
    patten 2)
    command...
    ;;
    *)         ,       
    command...  
    ;;
esac              case     

2、echo
#          : echo [ -n ]    
    -n          (    );       ,      。
   :
    -n      
    -e          
    -E          (  )

3. 상용 표현 식
     
-e filename    filename  ,   
-d filename    filename   ,    
-f filename    filename     ,   
-L filename    filename     ,   
-r filename    filename  ,    
-w filename    filename  ,    
-x filename    filename   ,   
-s filename         0,   
-h filename         ,   
filename1 -nt filename2    filename1  filename2 ,   。
filename1 -ot filename2    filename1  filename2 ,   。

       
-eq   
-ne    
-gt   
-ge     
-lt   
-le     

        
If  [ $a = $b ]                   string1  string2,   
                                             
if  [ $string1 !=  $string2 ]     string1   string2,          
if  [ -n $string  ]               string   ( 0),  0(true)  
if  [ -z $string  ]               string   ,   
if  [ $sting ]                    string   ,  0 ( -n  ) 

        !                           
if [ !     ]
if [ ! -d $num ]                      $num

        –a                           
if [    1  –a     2 ]

        -o                          
if [    1  –o    2 ]

4、if else if else
if ....; then
....
elif ....; then
....
else
....
fi
[ -f "somefile" ] :         
[ -x "/bin/ls" ] :  /bin/ls           
[ -n "$var" ] :  $var      
[ "$a" = "$b" ] :  $a $b    
-r file           
-w file           
-x file            
-f file              
-d file            
-c file                
-b file               
-s file          0   
-t file           (   1)           

      shell              shell       。           ,     if/then      。shell          ,      、         。
   if       : - eq —          (  ,if [ 2 –eq 5 ])
-ne —           
-lt —  1      2
-le —  1        2
-gt —  1      2
-ge —  1        2
-f —          (  ,if [ -f "filename" ])
-d —         
                    。     -f                    。

5. & & | | 의 사용
&&   :
 
command1  && command2
 
&&     (  1)   (   0,     ) ,&&     (  2)      ;    ,“          &&        ”。 
      :
 
    command1 && command2 [&& command3 ...]
 
1        &&   ,        。
2     &&         (      $? == 0),&&           。
3           (      $? == 1),           。
 
   1
malihou@ubuntu:~$ cp ~/Desktop/1.txt ~/1.txt && rm ~/Desktop/1.txt && echo "success"
 
   1         ~/Desktop      1.txt     ~   ;     ,   rm      ;             。
 
||   :
command1 || command2
 
||  &&  。  ||     (  1)     ,     ||     (  2);      ,“           ||         。
1        ||   ,        。
2     ||         (      $? == 1),||           。   c              ,          。
3           (      $? == 0),           。

좋은 웹페이지 즐겨찾기