(OBSOLETE) Nginx での 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 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 ライセンスです。WordPress, Netflix, Hulu, GitHub, Ohloh, SourceForge, TorrentReactor および Facebook の一部など、多くのサイトで利用されています。
NGINX は、apache の代替えとなるソフトウエアです。
このガイドでは、ウェブサーバの変更方法を段階的に説明します。ここでは、CentOS 6 のマシンで、Apache を使っていて、NGINX を使いたい場合を示します。
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!” が表示されるはずです。
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 に関する詳細は、以下を確認してください。
Php-fpm のインストール
php-fpm をインストールします。(CentOS のリポジトリから取得できます)
yum install php-fpm
以下のライブラリがインストールされているか確認し、されていなければインストールします。
yum install php-mbstring php-gd php-ldap php-snmp graphviz php-mysql
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
自動起動
システム起動時に nginx と php-fpm が起動するようにし、Apache は起動しないようにします。
chkconfig httpd off chkconfig nginx on chkconfig php-fpm on
ログ
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