Nginx Webサイトサービスの構築
コンピュータとインターネット技術の盛んな発展に従って、各種のWebサイトは直接ユーザーに向かう中堅の力になって、各種のウェブサイトのサーバーのソフトウェアの中で、Apacheのほかに、1種の軽量級のHTTPサーバーのソフトウェア--Nginxがあって、その安定性、高効率の特性は次第に多くのユーザーに認められます.このブログでは、Nginx Webサイトサーバを構築し、ドメイン名ベースの仮想Webホストを構成します.
Nginxの基本構成
NginxはロシアのIgor Sysoevが性能最適化のために開発したもので、その最も有名な利点はその安定性と低いシステム資源消費、およびHTTPの同時接続に対する高い処理能力(1台の物理サーバで30をサポートできる)である. 000~50 000個の同時要求).そのため、ソーシャルネットワーク、ニュース情報、電子商取引、仮想ホストなどのサービスを多く提供する企業がNginxを選んでWebサービスを提供している.
1.Nginxのインストール
Nginxのインストールファイルは公式サイトからhttp://www.nginx.org/ダウンロード、以下は安定片1.6.0を例にして、Nginxのインストールと運行制御を紹介します
2.Nginxサービススクリプトの作成
Nginxサービスの起動、停止などの操作をより便利にするために、Nginxサービススクリプトを作成し、chkconfigとサービスツールを使用して管理することができます.
2.プロファイルnginx.conf
グローバル構成、I/Oイベント構成、HTTP構成の3つの大きなブロックを含むNginxサーバのプライマリプロファイル
(1)グローバル構成
(2)I/Oイベント構成
epollモデルを使用してパフォーマンスを向上させることを推奨します.プロセスの接続数は実際のニーズに応じて決まり、一般的に10000以下です(デフォルト1024)
(3)HTTP構成
アクセスログ、HTTPポート、Webディレクトリ、デフォルト文字セット、接続保持などを含む
Nginxのアクセス状態統計
NginxはHTTP_を内蔵STUB_現在のWebアクセス状況をフィードバックするSTATUSステータス統計モジュール.コンパイルインストール時にモジュールを起動する必要があるほか、nginx.confプロファイルを変更し、アクセス先を指定してstub_を開く必要があります.status構成
ブラウザでNginxサーバの/status Webサイトにアクセスすると、現在の統計が表示されます.
仮想Webホストの構成
前述のApacheサービスでは,ドメイン名ベース,IPアドレスベース,ポート番号ベースの3種類の仮想Webホストについて紹介した.一方、Nginxを使用して仮想Webホストサーバを構築する場合、各仮想Webサイトには独立した「server{}」構成項目があり、サイト名、IPアドレス、ポート番号を個別に指定できます.以下、ドメイン名ベースの仮想Webホストを構成します.
(1)DNSサーバの構築
ここではもう一つの方法を採用し、hostsファイルを修正し、ネイティブでドメイン名を解析するしかありません.
(2)サイトカタログ及びテストファイルの準備
(3)nginx.confプロファイルの調整
(4)仮想Webホストへのアクセス
ブラウザで2つのサイトに別々にアクセスし、テストファイルが表示されると、仮想Webホストの構成が成功したことを示します.
Nginxの基本構成
NginxはロシアのIgor Sysoevが性能最適化のために開発したもので、その最も有名な利点はその安定性と低いシステム資源消費、およびHTTPの同時接続に対する高い処理能力(1台の物理サーバで30をサポートできる)である. 000~50 000個の同時要求).そのため、ソーシャルネットワーク、ニュース情報、電子商取引、仮想ホストなどのサービスを多く提供する企業がNginxを選んでWebサービスを提供している.
1.Nginxのインストール
Nginxのインストールファイルは公式サイトからhttp://www.nginx.org/ダウンロード、以下は安定片1.6.0を例にして、Nginxのインストールと運行制御を紹介します
[root@localhost ~]# yum -y install pcre-devel zlib-devel //Nginx pcre、zlib
[root@localhost ~]# useradd -M -s /sbin/nologin nginx // nginx
[root@localhost ~]# tar zxf nginx-1.6.0.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/nginx-1.6.0/
[root@localhost nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@localhost nginx-1.6.0]# make && make install // http_stub_status_module ,
[root@localhost nginx-1.6.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost nginx-1.6.0]# nginx -t //
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx-1.6.0]# nginx //
[root@localhost nginx-1.6.0]# netstat -anpt | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4614/nginx
[root@localhost nginx-1.6.0]# killall -s HUP nginx //
[root@localhost nginx-1.6.0]# killall -s QUIT nginx //
2.Nginxサービススクリプトの作成
Nginxサービスの起動、停止などの操作をより便利にするために、Nginxサービススクリプトを作成し、chkconfigとサービスツールを使用して管理することができます.
[root@localhost ~]# vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: 2345 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
if [ $? -eq 0 ]
then
echo "Nginx service already running."
else
$PROG -t &> /dev/null
if [ $? -eq 0 ] ; then
$PROG
echo "Nginx service start success."
else
$PROG -t
fi
fi
;;
stop)
netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
if [ $? -eq 0 ]
then
kill -s QUIT $(cat $PIDF)
echo "Nginx service stop success."
else
echo "Nginx service already stop"
fi
;;
restart)
$0 stop
$0 start
;;
status)
netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
if [ $? -eq 0 ]
then
echo "Nginx service is running."
else
echo "Nginx is stop."
fi
;;
reload)
netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
if [ $? -eq 0 ]
then
$PROG -t &> /dev/null
if [ $? -eq 0 ] ; then
kill -s HUP $(cat $PIDF)
echo "reload Nginx config success."
else
$PROG -t
fi
else
$PROG -t
fi
else
echo "Nginx service is not run."
fi
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
[root@localhost ~]# chmod +x /etc/init.d/nginx
[root@localhost ~]# chkconfig --add nginx // nginx
2.プロファイルnginx.conf
グローバル構成、I/Oイベント構成、HTTP構成の3つの大きなブロックを含むNginxサーバのプライマリプロファイル
(1)グローバル構成
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
#user nobody; //
worker_processes 1; // , CPU
#error_log logs/error.log; //
#pid logs/nginx.pid; //PID
(2)I/Oイベント構成
epollモデルを使用してパフォーマンスを向上させることを推奨します.プロセスの接続数は実際のニーズに応じて決まり、一般的に10000以下です(デフォルト1024)
events {
use epoll; // epoll
worker_connections 1024; // 1024 ,
}
(3)HTTP構成
アクセスログ、HTTPポート、Webディレクトリ、デフォルト文字セット、接続保持などを含む
Nginxのアクセス状態統計
NginxはHTTP_を内蔵STUB_現在のWebアクセス状況をフィードバックするSTATUSステータス統計モジュール.コンパイルインストール時にモジュールを起動する必要があるほか、nginx.confプロファイルを変更し、アクセス先を指定してstub_を開く必要があります.status構成
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
……
server {
location /status { // /status
stub_status on; //
access_log off; //
}
……
}
[root@localhost ~]# service nginx restart
ブラウザでNginxサーバの/status Webサイトにアクセスすると、現在の統計が表示されます.
仮想Webホストの構成
前述のApacheサービスでは,ドメイン名ベース,IPアドレスベース,ポート番号ベースの3種類の仮想Webホストについて紹介した.一方、Nginxを使用して仮想Webホストサーバを構築する場合、各仮想Webサイトには独立した「server{}」構成項目があり、サイト名、IPアドレス、ポート番号を個別に指定できます.以下、ドメイン名ベースの仮想Webホストを構成します.
(1)DNSサーバの構築
ここではもう一つの方法を採用し、hostsファイルを修正し、ネイティブでドメイン名を解析するしかありません.
[root@localhost ~]# vim /etc/hosts
127.0.0.1 www.ysf.com
127.0.0.1 www.yangshufan.com
(2)サイトカタログ及びテストファイルの準備
[root@localhost ~]# mkdir /var/www/ysf
[root@localhost ~]# mkdir /var/www/yangshufan
[root@localhost ~]# echo www.ysf.com > /var/www/ysf/index.html
[root@localhost ~]# echo www.yangshufan.com > /var/www/yangshufan/index.html
(3)nginx.confプロファイルの調整
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
http {
……
server {
listen 80;
server_name www.ysf.com;
charset utf-8;
#access_log logs/host.access.log main;
location / {
root /var/www/ysf;
index index.html index.htm;
}
}
server {
listen 80;
server_name www.yangshufan.com;
location / {
root /var/www/yangshufan;
index index.html index.htm;
}
}
}
[root@localhost ~]# service nginx reload
(4)仮想Webホストへのアクセス
ブラウザで2つのサイトに別々にアクセスし、テストファイルが表示されると、仮想Webホストの構成が成功したことを示します.