nginx / php - fpm 단순 운영 명령 기록

6032 단어
여기 에는 nginx / php-fpm 일상 에서 사용 되 는 명령 과 명령 뒤의 이 야 기 를 간단하게 기록 합 니 다.먼저 말 하기 nginx: 지정 한 설정 에 오류 가 있 는 지 테스트 합 니 다. nginx -t -c /usr/local/conf/nginx.conf기본 nginx 프로필 테스트 nginx -t시작 nginx: nginx -c /usr/local/conf/nginx.conf부 드 러 운 재 부팅 nginx: nginx HUP 신 호 를 받 은 후 재 부팅 과정 nginx 에서 수 정 된 프로필 이 올 바른 지, 올 바 르 지 않 으 면 새 work 를 만 들 지 않 고 오래된 프로 세 스 가 계속 작 동 합 니 다.설정 파일 에 문제 가 없 으 면 새 work 를 시작 하고 오래된 work 에 감청 소켓 을 닫 으 라 고 알 리 지만 이미 존재 하 는 연결 은 서 비 스 를 계속 합 니 다. 모든 오래된 연결 처리 가 끝 날 때 까지 구 work 는 종료 되 었 습 니 다.nginx -s reload 후자 sudo kill -HUP 'cat /usr/local/var/run/nginx.pid'정지 nginx:
        pkill -9  nginx
        kill -QUIT     
        kill -TERM     

부 드 러 운 업그레이드 nginx: nginx 업그레이드 공식 적 으로 자동 업 그 레이 드 를 사용 하 는 것 을 권장 합 니 다. 사실은 반자동 업 그 레이 드 를 사용 합 니 다.
[root@tm /data/nginx-1.10.1]# ./configure --prefix=/usr/local/nginx                                                                 
[root@tm /data/nginx-1.10.1]#make  
[root@tm /data/nginx-1.10.1]#cp objs/nginx  /usr/local/nginx/sbin 
[root@tm /data/nginx-1.10.1]#ps -ef | grep nginx
[root@tm ~/nginx/nginx-1.10.1]#ps -ef | grep nginx
root     20634     1  0 18:04 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody   20635 20634  0 18:04 ?        00:00:00 nginx: worker process
root     20641 15050  0 18:04 pts/0    00:00:00 grep --color=auto nginx
[root@tm ~/nginx/nginx-1.10.1]#cat Makefile    //   makefie  
default:        build
clean:
        rm -rf Makefile objs
build:
        $(MAKE) -f objs/Makefile
install:
        $(MAKE) -f objs/Makefile install
upgrade:
        /usr/local/nginx/sbin/nginx -t
        kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
        sleep 1
        test -f /usr/local/nginx/logs/nginx.pid.oldbin
        kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
[root@tm ~/nginx/nginx-1.10.1]#make upgrade   
[root@tm ~/nginx/nginx-1.10.1]#ps -ef | grep nginx  
[root@tm /usr/local/nginx/sbin]#./nginx -V                            
 nginx version: nginx/1.10.1

여기에 추가 nginxsystemctl 서비스 관리 에 추가 합 니 다. 이렇게 위의 시작, 재 부팅, 정지 모두 systemctl 를 통 해 관리 할 수 있 습 니 다. / lib / systemd / system 아래 에 하나 추가 nginx.service
    [Unit]
        Description=nginx - high performance web server  
        Documentation=http://nginx.org/en/docs/  
        After=network.target remote-fs.target nss-lookup.target  
       
    [Service]
        Type=forking  
        PIDFile=/usr/local/nginx/logs/nginx.pid 
        ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf  
        ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
        ExecReload=/bin/kill -s HUP $MAINPID  
        ExecStop=/bin/kill -s QUIT $MAINPID  
        PrivateTmp=true  
       
    [Install] 
        WantedBy=multi-user.target

다시 보기 php-fpm: 프로필 이 정상 인지 테스트 하기:
/usr/local/php/sbin/php-fpm -t

php - fpm 시작:
systemctl start php-fpm     //      
or
/usr/local/php/sbin/php-fpm 

php - fpm 정지:
systemctl stop php-fpm
or
kill -QUIT 'cat /usr/local/php/var/run/php-fpm.pid'   //     
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'    //     

php - fpm 다시 시작:
kill -HUP  'cat /usr/local/php/var/run/php-fpm.pid'  //     

여기에 추가 php-fpmsystemctl 서비스 관리 에 추가 합 니 다. 이렇게 위의 시작, 재 부팅, 정지 모두 systemctl 를 통 해 관리 할 수 있 습 니 다. / lib / systemd / system 아래 에 하나 추가 php-fpm.service
[Unit]
Description=The PHP 5.6 FastCGI Process Manager
After=network.target

[Service]
Type=simple
PIDFile=/usr/local/var/run/php-fpm.pid
ExecStart=/etc/init.d/php-fpm --nodaemonize --fpm-config /usr/local/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

수기 1: 파일 의 권한 방식, 문자 설정 과 숫자 설정: chmod (-R) u=r file_name or chmod (-R)400 file_name 수기 2: 사용 systemctl start docker.service 을 시도 해 보 니 다음 과 같은 오류 가 발생 했 습 니 다.
[root@username system]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2017-10-10 09:49:19 CST; 11min ago
     Docs: http://docs.docker.com
  Process: 29127 ExecStart=/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY (code=exited, status=1/FAILURE)
 Main PID: 29127 (code=exited, status=1/FAILURE)

Oct 10 09:49:19 taomin.localdomain systemd[1]: Starting Docker Application Container Engine...
Oct 10 09:49:19 taomin.localdomain dockerd-current[29127]: time="2017-10-10T09:49:19+08:00" level=fatal msg="unable to configure the Docker daemon with file /etc/docker/daemon.... string
" Oct 10 09:49:19 taomin.localdomain systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE Oct 10 09:49:19 taomin.localdomain systemd[1]: Failed to start Docker Application Container Engine. Oct 10 09:49:19 taomin.localdomain systemd[1]: Unit docker.service entered failed state. Oct 10 09:49:19 taomin.localdomain systemd[1]: docker.service failed.

이런 보고 가 잘못된 이 유 는 /etc/docker/daemon.json 이 파일 이 존재 해 서 는 안 되 고 존재 한다 면 합 법 적 인 제 이 슨 파일 이 어야 하기 때문이다.위의 오 류 를 해결 하려 면 /etc/docker/daemon.json 이것 을 삭제 하면 된다.

좋은 웹페이지 즐겨찾기