Pandora: Documentation ja: Nginx

From Pandora FMS Wiki
Jump to: navigation, search

Pandora FMS ドキュメント一覧に戻る

1 NGINX+PHP-FPM のインストールと、Pandora FMS のための設定

Nginx は、HTTP, HTTPS, SMTP, POP3 および IMAP プロトコルのための高可用性 Web/プロキシサーバです。フリーのオープンソースソフトウエアであり、BSD ライセンスです。Unix および Windows システムで動作するマルチプラットフォームソフトウエアで、WordPress, Netflix, Hulu, GitHub, Ohloh, SourceForge, TorrentReactor および Facebook のいくつかの部分といった、多くのサイトで利用されています。

NGINX は、apache の代替えとなるソフトウエアです。

このガイドでは、ウェブサーバの変更方法を段階的に説明します。ここでは、CentOS 6 のマシンで、Apache を使っていて、NGINX を使いたい場合を示します。

1.1 NGINGX のインストール

最初に Apache を停止します。

service httpd stop 

リポジトリを保存するためにディレクトリを作成します。

mkdir /root/temp ; cd /root/temp  

http://nginx.org/packages/ から、NGINX の全リポジトリをダウンロードします。この例では、CentOS 6 を選択しています。

wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

リポジトリを追加します。

rpm -i nginx-release-centos-6-0.el6.ngx.noarch.rpm

NGINX をインストールします。

yum install nginx

サービスを開始します。

service nginx start

正しく動作しているか確認します。ブラウザを開き、http://<IP_HOST>/index.html と入力したら、"Welcome to nginx!" が表示されるはずです。

1.2 NGINX の設定

/var/www/html/ ディレクトリとそのサブディレクトリのオーナーとグループを変更します。

chown -R nginx:nginx /var/www/html/

/etc/nginx/nginx.conf ファイルはデフォルトのままとするか、希望のパラメータ調整をします。

user  nginx;

worker_processes  5;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  4096;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    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;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf; 
    ## en conf.d/ The line where we will add the server configuration.
}

/etc/nginx/conf.d/ に pandora.conf ファイルを作成し、その他すべての .conf ファイルは削除するか移動します。

nano /etc/nginx/conf.d/pandora.conf

サーバの設定は次の通りです。

upstream php_backend {
    server unix:/tmp/php5-fpm.sock;  ## Socket path. 
}

server{
    listen 80;
    server_name 192.168.70.197; ## Higly recommend to set private server ip, 
                              ## otherwise if you set it to "localhost" or "127.0.0.1"  
                              ## you could get some errors.
    root /var/www/html;
    index index.php index.html;
    access_log   logs/pandora.log  combined; 
    client_max_body_size 500M;

        location ~* \.(png|jpg|jpeg|gif|ico)$ {
           expires 720h;
           log_not_found on;
        }

        location ~* \.(css|js|xml)$ {
           gzip_static on;
           expires 720h;
           log_not_found on;
        }

        location ~ \.php$ {
                include fastcgi_params;
                fastcgi_buffer_size 128k;
                fastcgi_buffers 4 256k;
                fastcgi_busy_buffers_size 256k;
                fastcgi_intercept_errors on;
                fastcgi_pass   php_backend;
                fastcgi_index  index.php;
                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  QUERY_STRING     $query_string;
        }

        location / {
                try_files $uri $uri/ $uri.php?$args;
        }

}

ログディレクトリを作成します。

mkdir /etc/nginx/logs/

nginx が正しく設定できているか確認します。

nginx -t

新たな設定を読み込ませるために nginx を再起動します。

service nginx restart

NGINX に関する詳細は、以下を確認してください。

http://nginx.org/en/docs/beginners_guide.html

1.3 Php-fpm のインストール

php-fpm をインストールします。(CentOS のリポジトリから取得できます)

yum install php-fpm  

以下のライブラリがインストールされているか確認し、されていなければインストールします。

yum install php-­mbstring php-­gd php­-ldap php­-snmp graphviz php-­mysql

1.4 Php-fpm の設定

/etc/php-fpm.d/www.conf ファイルを編集します。

;listen = 127.0.0.1:9000
listen = /tmp/php5-fpm.sock ; #Socket path.
;listen.allowed_clients =
;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0666

listen.owner = nginx
listen.group = nginx
listen.mode = 0666

user = nginx
group = nginx

/var/lib/php/session ディレクトリのオーナーとグループを変更します。

chown nginx:nginx /var/lib/php/session

APC をインストールします。

yum install php-pecl-apc

APC の設定は /etc/php.d/apc.ini で変更できます。処理の高速化のために重要なパラメータは以下の通りです。

; The size of each shared memory segment, with M/G suffix
apc.shm_size=64M

サービスを開始します。

service php-fpm start

1.5 自動起動

システム起動時に nginx と php-fpm が起動するようにし、Apache は起動しないようにします。

chkconfig httpd off
chkconfig nginx on
chkconfig php-fpm on

1.6 ログ

nginx, php-fpm およびコンソールのログ(/var/www/html/pandora_console/pandora_console.log)を確認してください。

1.6.1 NGINX のログ

/var/log/nginx/access.log /var/log/nginx/error.log

1.6.2 php-fpm のログ

/var/log/php-fpm/www-error.log /var/log/php-fpm/error.log

2 NGINX と Apache の違い

NGINX のインストールにより、ロード時間のパフォーマンスが改善されます。2台の同じマシン(同じメモリ、CPU、データベース)で比較した情報を示します。一方は Apache で、もう一方は NGINX です。

メインメニュー: Apache: (4,81s)

Apache1.png


NGINX: (4,46s)

Nginx1.png


監視設定画面: Apache: (5,83s)

Apache2.png


NGINX: (4,84s)

Nginx2.png