NginxユーティリティガイドV 1(連載その2:Nginxインストールとコンパイル最適化)
申明:本連載の文章は、Nginx公式サイト、張宴BLOG、linuxtoneフォーラム、インターネット、本人オリジナルから来ています.公式サイトのドキュメントを基にオリジナル作品を発表するよう努めています.ドキュメントの品質とエラー率を保証します.著作権に関する質問がある場合は、著者に連絡してください.
liuyu105#gmail.com.
一、Nginxインストール構成
1、インストール依存ライブラリ及びpcre 2、コンパイルパラメータ及び最適コンパイルA、CPU最適化B、Tcmalloc最適化C、システム最適化D、ダイエット
1、インストール依存とpcre
本稿ではcentosを例に挙げます.yumの取り付け方法を採用
#Download pcre
公式ダウンロードアドレス:最新バージョンをダウンロードftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
#Download nginxの最新バージョンのダウンロードアドレス:http://wiki.nginx.org/NginxInstall
もっと詳しい説明は公式WIKIに参加してください
3、最適化
A、特定のCPUに対してCPUタイプのコンパイル最適化を指定する.
デフォルトのnginxで使用するGCCコンパイルパラメータは、-Oがより最適化する必要がある、以下の2つのパラメータ、with-cc-opt='-O 3'、--with-cpu-opt=opteronを使用することで、コンパイルを特定のCPUに対して、およびGCCの最適化を増加することができる.この方法は性能の改善だけでは大きな性能向上はないので、友达の参考に供する.CPU Dタイプ決定:#cat/proc/cpuinfo|grep“model name”コンパイル最適化パラメータ参照:http://en.gentoo-wiki.com/wiki/Safe_Cflags
B、Tcmalloc最適化Nginx性能
wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-alpha.tar.gz
C、カーネルパラメータの最適化
# vi/etc/sysctl.conf#は末尾に以下の内容を追加します.
D、ダイエット
nginxコンパイル後のファイルサイズを小さくする(Reduce file size of nginx)
デフォルトのnginxコンパイルオプションでは、意外にもdebugモード(-g)を使用しています(debugモードでは多くのトレースやASSERTなどが挿入されます)、コンパイル後にnginxが1つで何兆もあります.nginxのdebugモードを除いてコンパイルすると、コンパイル後は数百Kしかありません
Auto/cc/gccでは、最後の行は次のとおりです.
# debug
CFLAGS=”$CFLAGS -g”
これらの行を注釈したり削除したりして、再コンパイルすればいいです.
注意:ここには偽装サーバーのバージョンは書いていません.インターネットで検索して構成インストールすることができます.
liuyu105#gmail.com.
一、Nginxインストール構成
1、インストール依存ライブラリ及びpcre 2、コンパイルパラメータ及び最適コンパイルA、CPU最適化B、Tcmalloc最適化C、システム最適化D、ダイエット
1、インストール依存とpcre
本稿ではcentosを例に挙げます.yumの取り付け方法を採用
- yum -y install ntp vim-enhanced gcc gcc-c++gcc-g77 flex bison autoconf automake \
- bzip2-devel ncurses-devel openssl-devel libtool*zlib-devel libxml2-devel libjpeg-devel \
- libpng-devel libtiff-devel fontconfig-devel freetype-devel libXpm-develgettext-devel \
- curl curl-devel pam-devel e2fsprogs-devel krb5-devel libidn libidn-devel
#Download pcre
公式ダウンロードアドレス:最新バージョンをダウンロードftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
- wget pcre-laster.tar.gz
- tar zxvf pcre-laster.tar.gz
- cd pcre-laster
- ./configure && make && makeinstall
2、
#Download nginxの最新バージョンのダウンロードアドレス:http://wiki.nginx.org/NginxInstall
- Wget http://sysoev.ru/nginx/nginx-0.8.35.tar.gz
- tar zxvf nginx-0.8.35.tar.gz
- cd nginx-0.8.35
- /configure --user=www --group=www --prefix=/usr/local/nginx/
- --with-http_stub_status_module --with-http_ssl_module
- --with-md5=/usr/lib --with-sha1=/usr/lib
- make && make install
もっと詳しい説明は公式WIKIに参加してください
3、最適化
A、特定のCPUに対してCPUタイプのコンパイル最適化を指定する.
デフォルトのnginxで使用するGCCコンパイルパラメータは、-Oがより最適化する必要がある、以下の2つのパラメータ、with-cc-opt='-O 3'、--with-cpu-opt=opteronを使用することで、コンパイルを特定のCPUに対して、およびGCCの最適化を増加することができる.この方法は性能の改善だけでは大きな性能向上はないので、友达の参考に供する.CPU Dタイプ決定:#cat/proc/cpuinfo|grep“model name”コンパイル最適化パラメータ参照:http://en.gentoo-wiki.com/wiki/Safe_Cflags
B、Tcmalloc最適化Nginx性能
wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-alpha.tar.gz
- # tar zxvf libunwind-0.99-alpha.tar.gz
- # cd libunwind-0.99-alpha/
- # CFLAGS=-fPIC ./configure
- # make CFLAGS=-fPIC
- # make CFLAGS=-fPIC install
- # wget http://google-perftools.googlecode.com/files/google-perftools-0.98.tar.gz
- # tar zxvf google-perftools-0.98.tar.gz
- # cd google-perftools-0.98/
- # ./configure
- # make && make install
- # echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
- # ldconfig
- # lsof -n | grep tcmalloc
nginx google_perftools_module:
./configure --with-google_perftools_module
nginx.conf :
google_perftools_profiles /path/to/profile;
C、カーネルパラメータの最適化
# vi/etc/sysctl.conf#は末尾に以下の内容を追加します.
- net.ipv4.tcp_fin_timeout = 30
- net.ipv4.tcp_keepalive_time = 300
- net.ipv4.tcp_syncookies = 1
- net.ipv4.tcp_tw_reuse = 1
- net.ipv4.tcp_tw_recycle = 1
- net.ipv4.ip_local_port_range = 5000 65000
#
sysctl -p
D、ダイエット
nginxコンパイル後のファイルサイズを小さくする(Reduce file size of nginx)
デフォルトのnginxコンパイルオプションでは、意外にもdebugモード(-g)を使用しています(debugモードでは多くのトレースやASSERTなどが挿入されます)、コンパイル後にnginxが1つで何兆もあります.nginxのdebugモードを除いてコンパイルすると、コンパイル後は数百Kしかありません
Auto/cc/gccでは、最後の行は次のとおりです.
# debug
CFLAGS=”$CFLAGS -g”
これらの行を注釈したり削除したりして、再コンパイルすればいいです.
注意:ここには偽装サーバーのバージョンは書いていません.インターネットで検索して構成インストールすることができます.