共通confファイルを作成
$ su - ⏎
# mkdir /etc/nginx/conf.d/common ⏎
# vi /etc/nginx/conf.d/common/drop.conf ⏎
drop.conf.txt の内容を全てコピペ
[Esc]:wq ⏎
expiresヘッダーを設定するためのファイルを作成
# vi /etc/nginx/conf.d/common/expires.conf ⏎
expires.conf.txt の内容を全てコピペ
[Esc]:wq ⏎
携帯・スマホ用キャッシュを設定するためのファイルを作成
# vi /etc/nginx/conf.d/common/mobile-cache.conf ⏎
mobile-cache.conf.txt の内容を全てコピペ
[Esc]:wq ⏎
phpMyAdmin用の設定をするためのファイルを作成
# vi /etc/nginx/conf.d/common/phpmyadmin.conf ⏎
phpmyadmin.conf.txt の内容を全てコピペ
[Esc]:wq ⏎
postfixadmin用の設定をするためのファイルを作成
# vi /etc/nginx/conf.d/common/postfixadmin.conf ⏎
postfixadmin.conf.txt の内容を全てコピペ
[Esc]:wq ⏎
マルチサイト用の設定をするためのファイルを作成
# vi /etc/nginx/conf.d/common/wp-multi.conf ⏎
wp-multi.conf.txt の内容を全てコピペ
[Esc]:wq ⏎
シングルサイト用の設定をするためのファイルを作成
# vi /etc/nginx/conf.d/common/wp-single.conf ⏎
wp-single.conf.txt の内容を全てコピペ
[Esc]:wq ⏎
nginx.confファイルを編集
$ su - ⏎
# vi /etc/nginx/nginx.conf ⏎
worker_processes 1; → worker_processes 3;
※CPUのコア数によって変える
※詳しくは nginx設定の検証(worker_processes、worker_cpu_affinity)を参照
そのすぐ次の行に
worker_cpu_affinity 001 010 100;
を追加 ※これも CPU のコア数によって書き方が異なる
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
の次の行に
# バックエンド用ログフォーマット
log_format backend '$http_x_forwarded_for - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent"';
を追加
keepalive_timeout 65; → keepalive_timeout 5;
include /etc/nginx/conf.d/*.conf;
より上の行に
nginx.conf.txt の内容を全てコピペ
[Esc]:wq ⏎
ビルドしたrpmからインストールする
$ su - ⏎
# cd ~/rpmbuild/RPMS/x86_64/ ⏎
# ls ⏎
nginx-1.x.xx-4.el6.x86_64.rpm nginx-debuginfo-1.x.xx-4.el6.x86_64.rpm
作業時点では nginx-1.4.0-4.el6.x86_64.rpm
# rpm -Uvh nginx-x.x.x-x.el6.x86_64.rpm ⏎
念のため ngx_cache_purge-x.x が組み込まれているか確認
# nginx -V ⏎
※ここで ngx_cache_purge-x.x が入っていなかった、前の作業から再確認
※作業ディレクトリとか、ちょっとした書き込みミスだった 疲れた〜 (*_*)
specファイルを編集
$ su - ⏎
# cd ~/rpmbuild/SPECS/ ⏎
# vi nginx.spec ⏎
一番先頭に
%define _unpackaged_files_terminate_build 0
%define ngx_cache_purge_version x.x
※xの部分はダウンロードしてきたキャッシュパージ用のファイルのバージョン
Name: nginx
Version: 1.0.15
バージョンの1.0.15の部分をダウンロードしてきたnginxのバージョンに書き換え
Source7: nginx.sysconfig
の次の行に
Source10: ngx_cache_purge-%{ngx_cache_purge_version}.tar.gz
を追加
Patch0: nginx-auto-cc-gcc.patch
の先頭に#をつけてコメントアウト
%patch0 -p0
の先頭に#をつけてコメントアウト
すぐ下の行に
%setup -T -D -a 10
を追加
export DESTDIR=%{buildroot}
の上の行に
export LANG='ja_JP.UTF-8'
を追加
--with-cc-opt="%{optflags} $(pcre-config --cflags)" \
の次の行に
--add-module=%{_builddir}/nginx-%{version}/ngx_cache_purge-%{ngx_cache_purge_version} \
を追加
make %{?_smp_mflags}
の次の行に
mv ngx_cache_purge-%{ngx_cache_purge_version}/CHANGES ngx_cache_purge-%{ngx_cache_purge_version}/CHANGES.ngx_cache_purge
mv ngx_cache_purge-%{ngx_cache_purge_version}/README.md ngx_cache_purge-%{ngx_cache_purge_version}/README.ngx_cache_purge
を追加
%doc LICENSE CHANGES README
の次の行に
%doc ngx_cache_purge-%{ngx_cache_purge_version}/CHANGES.ngx_cache_purge ngx_cache_purge-%{ngx_cache_purge_version}/README.ngx_cache_purge
を追加
[Esc]:wq ⏎
nginx設定 ファイルをダウンロード
$ su - ⏎
ビルドディレクトリを作成
# mkdir $HOME/rpmbuild $HOME/rpmbuild/SOURCES $HOME/rpmbuild/SPECS $HOME/rpmbuild/BUILD $HOME/rpmbuild/SRPMS $HOME/rpmbuild/RPMS $HOME/rpmbuild/RPMS/x86_64 ⏎
.rpmmacrosファイルを作成
# echo "%_topdir $HOME/rpmbuild" >> $HOME/.rpmmacros ⏎
# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/SRPMS/nginx-1.0.15-4.el6.src.rpm ⏎
※警告: **** の表示が大量に出ますが、問題ありません。
# cd ~/rpmbuild/SOURCES/ ⏎
nginxのファイルをダウンロード
# wget http://nginx.org/download/nginx-x.x.x.tar.gz ⏎
※xの部分はバージョンによって異なるので、
nginx:download から確認 作業時点では http://nginx.org/download/nginx-1.4.0.tar.gz
キャッシュパージ用のファイルをダウンロード
# wget http://labs.frickle.com/files/ngx_cache_purge-x.x.tar.gz ⏎
※こちらもnginx最新版と同様バージョンによってxの部分が異なるので、
コチラ から確認 作業時点では http://labs.frickle.com/files/ngx_cache_purge-2.1.tar.gz
DenyHosts で自分の IP アドレスがブロック
denyhosts をインストールして、自分の IP アドレスがブロックされて、SSHでログインできなくなってしまった。
ググってみると、ご同様な諸兄が多く居る様です。