個人用ツール

Pandora:Documentation ja:Nginx

提供: Pandora FMS Wiki JP

移動先: 案内, 検索

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

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

Nginx is a reverse high availability web/proxy server for HTTP, HTTPS, SMTP, POP3, and IMAP protocols. It is free and open source software, simplified licensed by BSD. It is a multi-platform software running in Unix and Windows systems and it is used by a large list of websites known as WordPress, Netflix, Hulu, GitHub, Ohloh, SourceForge, TorrentReactor and some parts of Facebook.

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

NGINX, an apache alternative that increases load times.

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

This guide explain step by step how to change webserver, in the case we are using Apache and we want to use NGINX, in a Centos 6 machine.

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

NGINGX のインストール

Firstable, stop Apache service:

最初に Apache を停止します。

service httpd stop 

Create a directory, in order to save all respositories there:

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

mkdir /root/temp ; cd /root/temp  

Download all NGINX repositories from http://nginx.org/packages/, in this example we will choose Centos 6:

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

Agregar los repositorios:

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

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

Install NGINX

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

yum install nginx

Start the service:

サービスを開始します。

service nginx start

Check that it is working properly. Open your browser and write http://<IP_HOST>/index.html, “Welcome to nginx!”should appear.

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

NGINX の設定

Change the user and group owner of /var/www/html/ directory and all their subdirectories:

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

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

You can keep /etc/nginx/nginx.conf file by default or you can change desired parameters:

/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.
}

Create a pandora.conf file at /etc/nginx/conf.d/ and remove or move all files .conf that exist in these directory.

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

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

Possible server configuration:

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

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;
        }

}

Create the log directory:

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

mkdir /etc/nginx/logs/

Check if nginx is well configurated:

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

nginx -t

Restart nginx in order to get the new configuration:

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

service nginx restart

If you want to know more about NGINX, just check:

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

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

Php-fpm のインストール

Install php-fpm (Centos repositories got it already):

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

yum install php-fpm  

Check if the libraries bellow are installed, if not proceed to install it.

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

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

Php-fpm の設定

Edit the /etc/php-fpm.d/www.conf configuration file:

/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

Change the user and group owner of the /var/lib/php/session directory.

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

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

APC optional installation:

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

yum install php-pecl-apc

You will be able to modify the APC configuration at /etc/php.d/apc.ini. This is an important parameter to have in mind, in order to speed up:

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

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

Start the service:

サービスを開始します。

service php-fpm start

自動起動

Start up nginx and php-fpm at system boot sequence and stop Apache:

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

chkconfig httpd off
chkconfig nginx on
chkconfig php-fpm on

ログ

Remember to check nginx, php-fpm and console logs aswell (/var/www/html/pandora_console/pandora_console.log).

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

NGINX のログ

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

php-fpm のログ

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

NGINX と Apache の違い

The target of installing NGINX is the improved load time performance. Here we show a comparative analysis between two identical machines (same RAM, CPU and database), one of them using Apache and the other one using NGINX:

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

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

550px


NGINX: (4,46s)

550px


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

550px


NGINX: (4,84s)

550px