2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

nginxの出力先をカスタマイズする。

Last updated at Posted at 2013-01-15

参考サイト:http://heartbeats.jp/hbblog/2012/02/nginx02.html

今回の環境:
【linux】CentOS6.2
【nginx】1.2.6

nginxの出力先を考えずにソースからコンパイル~インストールを行うと、
proxy_tempやら、fastcgi_tempなどが${NGINX_ROOT}なディレクトリ配下に作成されるので、
どーもディレクトリ構成がすっきりしない。
それと、実行ファイルと設定ファイルとその他でディレクトリを分けて置いて、
後々のバージョンアップにも耐えられるような構成を目指す。

目指すディレクトリ構成
${NGINX_ROOT}
   +---1.2.6
       +--sbin
       +--conf
    +---running
        +--logs
        +--html
        +--temp
           +-client_body_temp
           +-proxy_temp
           +-fastcgi_temp
           +-uwsgi_temp
           +-scgi_temp
(デフォルトでは~_tempのディレクトリがlogsとかと一緒の場所に作成されてしまい、
 htmlとかlogsの存在が埋もれてしまいそうになる。)

実際のコマンドは以下のとおり。(ここでは${NGINX_ROOT}を/var/opt/nginx/ としている)

NGINXのインストールログ的手順
$ tar xzf ./nginx-1.2.6.tar.gz
$ cd ./nginx-1.2.6
$ ./configure --user=nginx --group=nginx \
    --with-http_ssl_module \
    --with-http_random_index_module \
    --with-http_dav_module \
    --without-select_module \
    --prefix=/var/opt/nginx/running \
    --sbin-path=/var/opt/nginx/1.2.6/sbin/nginx \
    --conf-path=/var/opt/nginx/1.2.6/conf/nginx.conf \
    --pid-path=/var/run/nginx.pid \
    --lock-path=/var/lock/subsys/nginx \
    --http-client-body-temp-path=temp/client_body_temp \
    --http-proxy-temp-path=temp/proxy_temp \
    --http-fastcgi-temp-path=temp/fastcgi_temp \
    --http-uwsgi-temp-path=temp/uwsgi_temp \
    --http-scgi-temp-path=temp/scgi_temp
$ make
$ make isntall

もしかしたら、./configureのとこで以下のようなエラーが出るかもしれない。

PRCEが無いよ的なエラー
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

その時はタイトルにも書いたとおりPRCEライブラリが無いのでインストールした後、
また./configureを実行すると良い。

インストールが完了したら、ディレクトリの作成を忘れないこと。

tempディレクトリを作成する
$ mkdir /var/opt/nginx/running/temp

もし忘れたまま起動するとこんなエラーが出る。(というか出た。)

tempディレクトリ作成エラー例
nginx: [emerg] mkdir() "/var/opt/nginx/running/temp/client_body_temp" failed (2: No such file or directory)

あとは、nginxのディレクトリ専用のユーザを作成したりと、セキュリティ対策も忘れずに。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?