nginx를 다시 시작하는 방법?


95

나를 위해, "killall nginx"를 실행하고 "sbin / nginx"로 시작합니다. 누가 더 나은 재시작 스크립트가 있습니까?

BTW : 소스에서 nginx를 설치했는데 'service nginx'명령 또는 /etc/init.d/nginx를 찾을 수 없습니다


1
소스에서 설치하는 이유는 무엇입니까? Nginx 패키지는 가장 훌륭한 서버 리눅스 배포판에서 사용할 수 있습니다. 또는 자체 패키지를 롤링 할 수 있지만 패키지를 사용하지 않는 것은 유지 관리를위한 버그입니다.
Tom O'Connor 9

mod_rails 때문에
larry

답변:


149

nginx 패키지는 일반적인 start | stop | restart | reload ... 기능을 제공하는 /etc/init.d/nginx 스크립트를 제공합니다.

/etc/init.d/nginx restart

nginx를 다시 시작합니다

의지대로

service nginx restart

편집하다

다음 은 /etc/init.d/nginx로 사용할 수있는 스크립트에 대한 링크입니다.


2
저장소에 따라 다릅니다. Nginx 소스는 init 스크립트를 제공하지 않으므로 소스에서 업데이트하고 컴파일하려면 위키에서 가져와야합니다.
Martin Fjordvald

1
질문에 대답하기 전에 더 많은 커피를
마셔야합니다

서비스 nginx 재시작은 무엇을 가리키며 init.d / nginx를 변경할 때 무언가를 다시로드하는 것이 적절합니까? 내 두 명령 (/etc/init.d/nginx와 service nginx)이 동기화되지 않은 것 같습니다.
Danny

@Danny : dunno 2 년 전에 작성했습니다.
user9517

15

http://wiki.nginx.org/CommandLine

링크 내부에는 nginx 서버를 시작하고 중지하는 명령이 있습니다.

nginx를 시작하는 경우 :

/usr/bin/nginx

nginx 중지 용 :

/usr/bin/nginx -s stop

/usr/bin nginx를 어디에 설치 하느냐에 따라


4

어떤 이유로 든 임베디드 시스템에서 내가하고있는 일은 다음과 같습니다.

systemctl restart nginx

1
이 질문과 대부분의 답변은 8 살이며 쓸모가 없습니다. 그것이 "어떤 이유"입니다. 이것은 현재 Linux 운영 체제에서 올바른 방법입니다.
Michael Hampton

그렇다면 임베디드 시스템에만 해당되는 것은 아닙니다.
카 다몬

1

구성 파일을 편집 한 후 OpenBSD에서 다음과 같이 다시 시작합니다.

kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && \
    tail -2 /var/www/logs/error.log ; date

HUP신호는 설정 파일의 다시 읽어하게 tail오류가 발생했는지 여부 쇼는 date(에러의 시간에만 발생 상황에 둔다 이러한 오류 date및 로그에서의 시간과 일치) sleep 1이 있다는 것을 보장 nginx가 로그에 쓸 시간이 있기 전에 로그에서 읽는 사이에 경쟁 조건이 없습니다.

다음과 같이 보입니다.

Cns# kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && tail -2 /var/www/logs/error.log ; date
Tue Feb 12 10:58:52 PST 2013
2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226
2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231
Tue Feb 12 10:58:53 PST 2013
Cns# 

로그에서 인쇄 된 시간이 인쇄 된 시간 사이에 있지 않다는 사실은 이번에 date오류가 발생하지 않았으며 새 구성이 적합하다는 것을 나타냅니다.


0

NginX Wiki에서 init 스크립트를 찾을 수 있습니다 : http://wiki.nginx.org/Configuration#Init_Scripts

재시작 기능은 다음 명령을 실행합니다.

BASEDIR=
$BASEDIR/sbin/nginx -s stop
$BASEDIR/sbin/nginx $BASEDIR/conf/nginx.conf

당신의 nginx / 옵션 / nginx를 설치 한 경우, 교체 BASEDIR=에 의해 BASEDIR=/opt/nginx.


0

일반적으로 소스에서 설치된 패키지는에 시작 스크립트를 설치하지 않습니다 /etc/init.d/. 두 가지 옵션이 있습니다.

1- 소스 코드 디렉토리 또는 웹 사이트에서 스크립트를 찾아 필요한 경우 사용자 정의 할 수 있습니다.

2- 시스템에서 다른 패키지의 시작 스크립트를 복사하여 사용자 정의 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.