目次
Nginx 設定ファイル
メイン設定ファイル nginx.conf の詳細な説明
メイン設定ファイル nginx.conf のパラメータ最適化のキーポイント
1.worker_processes と worker_connections の構成
2. Ngnix のバージョン情報を非表示にします
3. システムの隠しファイルへの Web アクセスを拒否します
4. ファイルアップロードの最大サイズを制限する
5. Nginx 静的ファイル キャッシュ制御
6. Ngnix は PHP リクエストを PHP-FPM に転送します
7. GZIP 圧縮をオンにします
ホームページ バックエンド開発 PHPチュートリアル Nginx&&PHP-FPM 構成および最適化ガイド (パート 2)

Nginx&&PHP-FPM 構成および最適化ガイド (パート 2)

Jun 13, 2016 pm 01:21 PM
amp nginx php root worker

Nginx&&PHP-FPM 構成および最適化ガイド (パート 1)

この記事では、Centos5.8/6.2&&RedHat (RHEL) 5.8/6.2 の LEMP/LNMP 環境における Nginx&&PHP-FPM の WEB サーバー構成および最適化ガイドを紹介します。 。

現時点でのソフトウェアのバージョンは

  • Nginx 1.2.2
  • PHP && PHP-FPM5.4.4

LEMP 環境をセットアップしていない場合は、CentOS6.2/5.8 での LEMP (または LNMP) 高パフォーマンス WEB サーバーの Yum セットアップ プロセスについて以前に書いた記事を参照してください。 「LEMP 構築ガイド」では、Nginx&&PHP-FPM の最も基本的な設定手順のみを説明しました。

この記事では、Nginx&&PHP-FPM の WEB サーバー構成をさらに詳しく紹介します。

Nginx 設定ファイルは http://wiki.nginx.org/NginxChs も参照できます

Nginx&&PHP-FPM 構成および最適化ガイド (パート 1)

Nginx 設定ファイル

Nginx 構成ファイルを /etc/nginx パスの下に置き、ls -l /etc/nginx を実行して出力します

total 36
drwxr-xr-x. 2 root root 4096 Jul 11 19:52 conf.d
-rw-r--r--. 1 root root  964 Jul  3 19:53 fastcgi_params
-rw-r--r--. 1 root root 2837 Jul  3 19:53 koi-utf
-rw-r--r--. 1 root root 2223 Jul  3 19:53 koi-win
-rw-r--r--. 1 root root 3463 Jul  3 19:53 mime.types
-rw-r--r--. 1 root root  643 Jul  3 19:50 nginx.conf
-rw-r--r--. 1 root root  596 Jul  3 19:53 scgi_params
-rw-r--r--. 1 root root  623 Jul  3 19:53 uwsgi_params
-rw-r--r--. 1 root root 3610 Jul  3 19:53 win-utf
ログイン後にコピー

メイン設定ファイル nginx.conf の詳細な説明

#运行用户
user  nginx;
#进程数目,通常设置成和cpu的数量相等
worker_processes  1;

#全局错误日志
error_log  /var/log/nginx/error.log warn;
#PID文件
pid        /var/run/nginx.pid;

#工作模式及连接数上限
events {
    #单个worker_process进程的最大并发链接数
    worker_connections  1024;
}

#设定http服务器,利用它的反向代理功能还可以提供负载均衡支持
http {

    #设定mime类型,类型由mime.type文件定义
    include       /etc/nginx/mime.types;

    #制定默认MIME类型为二进制字节流
    default_type  application/octet-stream;

    #日志格式,参考URL
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    #日志存放路径
    access_log  /var/log/nginx/access.log  main;

    #开启调用Linux的sendfile(),提供文件传输效率
    #sendfile一般设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime
    sendfile        on;

    #是否允许使用socket的TCP_NOPUSH或TCP_CORK选项
    #tcp_nopush     on;

    #指定客户端连接保持活动的超时时间,在这个时间之后,服务器会关掉连接
    keepalive_timeout  65;

    #设置开启gzip压缩,参考URL
    #gzip  on;

    #虚拟主机配置文件引入
    include /etc/nginx/conf.d/*.conf;
}
ログイン後にコピー

メイン設定ファイル nginx.conf のパラメータ最適化のキーポイント

Nginx&&PHP-FPM 構成および最適化ガイド (パート 1)

1.worker_processes と worker_connections の構成

デフォルト構成のworker_processesとworker_connectionの数は少し少なく、1000回/秒以内のリクエストしか処理できません。

#默认配置
worker_processes  1;
worker_connections  1024;
ログイン後にコピー

通常、worker_processes は CPU の数に設定され、worker_connections は 1024 に維持できます。 cat /proc/cpuinfo |grepprocessor を使用して CPU の数を確認できます。

2. Ngnix のバージョン情報を非表示にします

server_tokens off;
ログイン後にコピー

3. システムの隠しファイルへの Web アクセスを拒否します

location ~ /\. {
    access_log off;
    log_not_found off; 
    deny all;
}
ログイン後にコピー

4. ファイルアップロードの最大サイズを制限する

client_max_body_size 20m;
client_body_buffer_size 128k;
ログイン後にコピー

5. Nginx 静的ファイル キャッシュ制御

ブラウザのキャッシュは帯域幅の節約に非常に役立ち、Nginx での設定も非常に簡単です

location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
    access_log        off;
    log_not_found     off;
    expires           360d;
}
ログイン後にコピー


6. Ngnix は PHP リクエストを PHP-FPM に転送します

# Pass PHP scripts to PHP-FPM
location ~* \.php$ {
    try_files       $uri /index.php;
    fastcgi_index   index.php;
    fastcgi_pass    127.0.0.1:9000;
    #fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}
ログイン後にコピー
7. GZIP 圧縮をオンにします

gzip on;
gzip_min_length  1k;
gzip_buffers     4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types       text/plain application/x-javascript text/css
application/xml;
gzip_vary on;
ログイン後にコピー

********************************************** *
* 著者: イェ・ウェンタオ
* この記事へのリンク: Nginx&&PHP-FPM 構成および最適化ガイド (パート 1)
******************転載の際は出典を明記してください***************


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

See all articles