× - 코드 및 콘솔 화면은 [ code ] 내용 [ /code ] 태그 처리하여 주세요.
- 강조하고자 하는 내용은 [ b ] 내용 [ /b ] 태그 처리하여 주세요.

Nginx 기동 시 특정 디렉토리에 있는 nginx.conf 파일을 로딩하는 방법은?

  • 몽상가
    (몽상가)
  • 몽상가's Avatar 이 글의 작성자
  • Offline
  • ★★ Staff ★★
  • ★★ Staff ★★
더보기
17 Mar 2014 18:16 #65 작성자: 몽상가
몽상가 님의 글: Nginx 기동 시 특정 디렉토리에 있는 nginx.conf 파일을 로딩하는 방법은?
nginx의 engine을 공유하면서 서로 다른 프로세스로 기동하기 위해서
default 경로에 있는 conf 디렉토리의 위치를 살짝 변경하였습니다.

o 기존
/engine/nginx/nginx-1.4.2/conf

o 변경 후
/engine/nginx/nginx-1.4.2/myengine/conf

위와 같이 변경한 후 start script를 만든 후 기동시켜 보니, 기존의 default 경로에 있는
nginx.conf 파일을 로딩하여 프로세스를 기동 시키더라고요...
혹시 제가 원하는 디렉토리에 있는 nginx.conf 파일을 로딩하여 기동시키는 방법이 있을까요?


apache의 경우는 -f 옵션으로 httpd.conf 파일을 지정할 수 있던데...
그래서 nginx에도 -f 옵션을 적어보니...

nginx: invalid option: "f"

ㅡ.ㅡ;;
더보기
17 Mar 2014 20:42 - 17 Mar 2014 20:43 #66 작성자: jeeg
jeeg 님의 답글: Nginx 기동 시 특정 디렉토리에 있는 nginx.conf 파일을 로딩하는 방법은?
한 서버에 여러 NginX 프로세스를 띄우기 위한 방법입니다.

1) 말씀하신대로 원하는 디렉토리를 하나 만드신 다음에, 그 아래에 원래 conf 디렉토리에 있던 nginx.conf 와 mime.types 를 복사합니다. (mime.types 는 원본을 사용해도 되고, 그렇게 하시려면 nginx.conf 에서 mime.types include 되는 부분의 경로를 수정하시면 됩니다)

2) start.sh 를 수정합니다.

#!/bin/bash
NGINX_HOME=/home/nginx/1.4.4
${NGINX_HOME}/sbin/nginx -c ${NGINX_HOME}/domains/jeeg/conf/nginx.conf

저는 /home/nginx/1.4.4 에 NginX 가 설치되어 있으며, 여러 프로세스를 띄우기 위한 작업으로 domains/jeeg 라는 디렉토리를 만들고 그 안에 conf 디렉토리를 만들고 그 안에 nginx.conf 와 mime.types 파일을 넣었습니다.

그리고 start.sh 로 기동하면 됩니다.

이렇게 하시면 로그는 원래 logs 디렉토리에 쌓이게 되는데요, 만일 로그도 분리하시려면 domains/jeeg/logs 디렉토리를 만들고, domains/jeeg/conf/nginx.conf 에서 로그 위치를 변경하시면 됩니다.
  • 몽상가
    (몽상가)
  • 몽상가's Avatar 이 글의 작성자
  • Offline
  • ★★ Staff ★★
  • ★★ Staff ★★
더보기
17 Mar 2014 20:56 - 17 Mar 2014 20:58 #67 작성자: 몽상가
몽상가 님의 답글: Nginx 기동 시 특정 디렉토리에 있는 nginx.conf 파일을 로딩하는 방법은?
옷~
conf 파일 지정하는 옵션이 -c 였군요.
알려주신 대로 해보니 정말 잘 됩니다.
감사합니다.
^^

제가 서핑을 해봐도 키워드가 잘 못 되었는지, 관련 옵션이 잘 나오지 않던데...
혹시, 저런 extra option 들이 정리되어 있는 사이트가 따로 있나요??
아니면 공식 사이트에 있는대도 제가 못 찾는건지..
더보기
17 Mar 2014 21:44 - 17 Mar 2014 21:47 #68 작성자: jeeg
jeeg 님의 답글: Nginx 기동 시 특정 디렉토리에 있는 nginx.conf 파일을 로딩하는 방법은?
네이버 검색으로는 딱히 좋은 사이트를 발견하지 못했고 구글에는 NginX 공식 페이지인지 wiki 인지 있긴 하더라구요. 하지만 보기 좋게 정리되어 있지는 않았습니다. 제 생각에 NginX 관련 자료는 곧 삵이 최고가 되지 않을까 싶네요.

이 내용을 저는 NginX 소스를 공부하다가 찾게되었습니다.

1.4.4 기준으로 core/nginx.c 파일을 보면 220 라인 정도부터 다음 내용이 있더라구요.
if (ngx_show_help) {
            ngx_write_stderr(
                "Usage: nginx [-?hvVtq] [-s signal] [-c filename] "
                             "[-p prefix] [-g directives]" NGX_LINEFEED
                             NGX_LINEFEED
                "Options:" NGX_LINEFEED
                "  -?,-h         : this help" NGX_LINEFEED
                "  -v            : show version and exit" NGX_LINEFEED
                "  -V            : show version and configure options then exit"
                                   NGX_LINEFEED
                "  -t            : test configuration and exit" NGX_LINEFEED
                "  -q            : suppress non-error messages "
                                   "during configuration testing" NGX_LINEFEED
                "  -s signal     : send signal to a master process: "
                                   "stop, quit, reopen, reload" NGX_LINEFEED
#ifdef NGX_PREFIX
                "  -p prefix     : set prefix path (default: "
                                   NGX_PREFIX ")" NGX_LINEFEED
#else
                "  -p prefix     : set prefix path (default: NONE)" NGX_LINEFEED
#endif
                "  -c filename   : set configuration file (default: "
                                   NGX_CONF_PATH ")" NGX_LINEFEED
                "  -g directives : set global directives out of configuration "
                                   "file" NGX_LINEFEED NGX_LINEFEED
                );
        }
위에서 -c 는 "set configuration file" 라고 표시가 되어 있었습니다.

그리고 중요한 것, help 옵션이 있다는 사실을 소스를 보고 알게 되었습니다.

1) 도움말 : -h 혹은 -?
2) 버전 : -v
3) 현재 엔진의 컴파일 옵션 : -V

등등이 있습니다.
좋아요를 누른 살쾡이: unnamed
  • 몽상가
    (몽상가)
  • 몽상가's Avatar 이 글의 작성자
  • Offline
  • ★★ Staff ★★
  • ★★ Staff ★★
더보기
17 Mar 2014 22:58 #69 작성자: 몽상가
몽상가 님의 답글: Nginx 기동 시 특정 디렉토리에 있는 nginx.conf 파일을 로딩하는 방법은?
강철지그님 킹왕짱!
더보기
18 Mar 2014 00:08 #70 작성자: unnamed
unnamed 님의 답글: Nginx 기동 시 특정 디렉토리에 있는 nginx.conf 파일을 로딩하는 방법은?
찾아봤는데 정확히 나오는 곳이 없었는데 감사합니다.
Time to create page: 0.111 seconds
Powered by Kunena Forum