Nginx + php (FastCGI) + Memcached + MySQL + APC は、高性能サーバーを構築する現在の主流の方法です。大規模および中規模の Web サイトに適しており、小規模の Web マスターもこの組み合わせを使用できます。
Nginx は高いパフォーマンスと安定性で Apache を上回り、国内最大の電子地図 MapBar、Sina Blog、Sina Podcast、NetEase News およびその他のポータル チャネル、6 ルーム、56.com など、ますます多くの国内 Web サイトが Nginx を Web サーバーとして使用しています。他のビデオ共有ウェブサイト、Discuz!公式フォーラムや Shuimu コミュニティなどの有名なフォーラム、Douban、YUPOO Photo Album、国内 SNS、Thunder Online などの新興 Web 2.0 Web サイト、さらに多くの Web サイトが Nginx 構成を使用しています。
必要なインストール パッケージをダウンロードします。 ここでは、ソース コード パッケージを使用してコンパイルしてインストールします。 このブログには、ダウンロード パッケージが統合されています
http://wgkgood.gicp.net/download/nginx-0.7.61.tar.gz
http://wgkgood.gicp.net/download/pcre-8.01.tar.gz
http://wgkgood.gicp.net/download/memcache-2.2.5.tgz
http://wgkgood.gicp.net/download/libevent-1.4.12-stable.tar.gz
http://wgkgood.gicp.net/download/APC-3.1.4.tgz
/usr/src にダウンロードする
mysql-5.1.41.tar.gz と php-5.3.5.tar.gz の 2 つのパッケージもあります [他の同様のバージョンも入手可能です! 】公式サイトよりダウンロード可能です。
1. Nginx を正式にインストールします [nginx をインストールする前に、書き換え、正規化、Web ページの圧縮などをサポートするための pcre パッケージと zlib をインストールする必要があります。
cd /usr/src
tar xzf pcre-8.01.tar.gz
cdpcre-8.01
./configure –PRefix=/usr/local/pcre
作る
インストールする
(2) 次に、nginx をインストールします。
useradd www && cd /usr/src && tar xzf nginx-0.7.61.tar.gz &&cd nginx-0.7.61 && ./configure –prefix=/usr/local/nginx –with-http_stub_status_module –with-openssl=/usr / –with-pcre=/usr/src/pcre-8.01 –user=www –group=www &&make &&make install
[nginx note* –with-pcre=/usr/src/pcre-8.01 は、インストール パスではなく、ソース コード パッケージを解凍するパスを指します。それ以外の場合は、レポートが表示されます。
make[1]: ***[/usr/local/pcre/Makefile] エラー127エラー】
2.次にmysqlをインストールします
cd /usr/src && tar xzf mysql-5.1.41.tar.gz && cd mysql-5.1.41 && ./configure –prefix=/usr/local/mysql/ –enable-assembler –with-extra-charsets=complex –enable-thread-safe-client –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=innobase && make &&make install
(2) mysqlのインストール後、mysqlのユーザーとグループを作成し、データベースを初期化し、データベースを起動します。
cd /usr/local/mysql && useradd mysql && chown -R mysql:mysql /usr/local/mysql && /usr/local/mysql/bin/mysql_install_db –user=mysql && chown -R mysql:mysql var/ && ./ bin/mysqld_safe –user=mysql &
それでおしまい。 [mysql の起動時にエラーが発生した場合は、/usr/local/mysql/var ディレクトリをチェックして、mysql に権限があるかどうかを確認してください]
3. PHP をインストールします。
cd /usr/src &&tar xzf php-5.3.5.tar.gz && cd php-5.3.5 && ./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/ php/etc –with-mysql=/usr/local/mysql –with-mysqli=/u
sr/local/mysql/bin/mysql_config –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-li
bxml-dir=/usr –enable-xml –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem
–enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fpm –enable-sockets && make &&make install
インストール完了! [ここでは、-enable-fastcgi をこのパラメータに追加する必要はありません。他の以前のバージョンでは、これを追加する必要があることに注意してください。エラーが報告された場合は、その理由を調べてください。特定のエラーレポート]
4. php-5.3.5 をインストールした後、Nginx と php (FastCGI) を統合して fastCGI をサポートします
ユーザー www www;
ワーカープロセス 8;
error_log /usr/local/logs/nginx/error.log crit;
pid /usr/local/nginx/nginx.pid;
#このプロセスで開くことができるファイル記述子の最大値を指定します。
ワーカー_rlimit_nofile 51200;
イベント
{
epoll を使用します。
ワーカー接続 51200;
}
http
{
mime.types を含めます。
デフォルトタイプアプリケーション/オクテットストリーム;
#charset gb2312;
サーバー名ハッシュバケットサイズ 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
ファイルを送信します。
tcp_noプッシュオン;
キープアライブタイムアウト 60;
tcp_nolay がオン。
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip をオンにします。
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_バージョン 1.0;
gzip_comp_level 2;
gzip_types テキスト/プレーン アプリケーション/x-javascript テキスト/CSS アプリケーション/xml;
gzip_vary をオンにします。
#limit_zone クローラー $binary_remote_addr 10m;
サーバ
{
80を聞いてください。
サーバー名 wgkgood.gicp.net;
インデックスindex.phpインデックス.htmインデックス.html;
ルート/usr/webapps/www;
#limit_conn クローラー 20;
場所 ~ .*.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexインデックス.php;
fcgi.conf をインクルードします。
}
場所 ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
有効期限は 30 日です。
}
場所 ~ .*.(js|css)?$
{
有効期限は 1 時間です。
}
log_format アクセス '$remote_addr – $remote_user [$time_local] “$request” '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /usr/local/logs/nginx/access.log アクセス;
}
}
Nginxの設定が完了しました! nginx を起動します。 /usr/local/nginx/sbin/nginx を再起動するコマンドは次のとおりです /usr/local/nginx/sbin/nginx –s reload
この設定ファイルは参考用です。Zhang Yan 先生に感謝します。
(2) fcgi.confファイルを以下のように設定します。
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param スクリプト名 $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP のみ。PHP が –enable-force-cgi-redirect でビルドされた場合に必要
fastcgi_param REDIRECT_STATUS 200;
5. PHP 構成ファイルを構成します。
cd /usr/local/php5/etc/ && cp php-fpm.conf.default php-fpm.conf
次に、プロンプトに従って php-fpm.conf のオプションを変更します。
設定が完了したらphp-fpmを起動します。
次の cp /usr/src/php-5.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
次に、/etc/init.d/php-fpm start を起動します。
6. APC 構成をインストールします。
cd /usr/src && tar xzf APC-3.1.4.tgz &&cd APC-3.1.4
/usr/local/php5/bin/phpize
./configure –enable-apc –enable-apc-mmap –with-php-config=/usr/local/php5/bin/php-config
&&make&& インストールを行う
インストール後、apc.so が /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/ に生成されます。
7. fastcGI が memcached をサポートするように memcached をインストールします。
まずlibeventをインストールし、
cd /usr/src && tar xzf libevent-1.4.12-stable.tar.gz && cd libevent-1.4.12-stable && ./configure –prefix=/usr/local/libevent &&make && make install
次にmemcachedをインストールします
tar xzf memcache-2.2.5.tar.gz && cd memcache-2.2.5 && /usr/local/php5/bin/phpize && ./configure –prefix=/usr/local/memcached –with-libevent=/usr/ local/libevent –with-php-config=/usr/local/php5/bin/php-config &&make &&make install
インストール後、memcache.so モジュールが /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/ に生成されます。
8. 次にphp.iniを変更します。
デフォルトの php.ini は /usr/local/php5/lib/php.ini にあります。次のように指定することもできます。
拡張子ディレクトリ = "./"
に変更します
extension_dir=”/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626″
以下を末尾に追加します。
拡張子=apc.so
extension=memcache.so //キャッシュモジュールはここで参照されます
[APC]
apc.有効 = 1
apc.shm_segments = 1
apc.shm_size = 64M
apc.最適化=1
apc.num_files_hint = 0
apc.ttl=7200
apc.user_ttl=7200
apc.gc_ttl = 3600
apc.cache_by_default = オン
これでインストールは完了です。
nginxとphp-fpmを再起動し、テストページでアクセスします。
この記事はあくまで参考です!不正確な点があれば修正してください。一緒に学びましょう!
記事出典: http://blog.mgcrazy.com/?p=627転載の際は出典リンクを明記してください