nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev. For a long time, it has been running on many heavily loaded Russian sites including Yandex, Mail.Ru, VK, and Rambler. According to Netcraft, nginx served or proxied 24.68% busiest sites in June 2018. Here are some of the success stories: Dropbox, Netflix,Wordpress.com, FastMail.FM.
nginxの公式ウェブサイトhttp://nginx.org/en/からの抜粋で、nginxはHTTPプロキシサーバーおよびリバースプロキシサーバー、メールプロキシサーバー、TCP / UDPプロキシサーバー、[負荷バランス](https://cloud.tencent.com/product/clb?from=10680)であることがわかります。機能は非常に強力です。
OS:CentOS 6.7 x64
Nginx:1.10.2
(1) gccをインストールします
コンパイルとインストールであるため、gccコンパイル環境が必要です。次のコマンドを実行して、gccがインストールされているかどうかを確認してください。
gcc -v
gccがインストールされていない場合は、次のコマンドを実行してインストールします。
[ root@lab1 php]# yum -y install gcc
インストールが完了したら、gcc-vを実行してバージョン情報を確認します
[ root@lab1 php]# gcc -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=[http://bugzilla.redhat.com/bugzilla](http://bugzilla.redhat.com/bugzilla)--enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.720120313(Red Hat 4.4.7-18)(GCC)
(2) pcre / zlib / opensslをインストールします
rootユーザーは、次のコマンドを実行してpcre / zlib / opensslをインストールします。
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
注:手順(1)(2)は、包括的なコマンドを実行して一緒にインストールすることもできます
yum -y install gcc zlib zlib-devel pcre pcre-devel openssl openssl-devel
(1) nginxソースコードをダウンロードする
Nginxの公式ダウンロードアドレス:
http://nginx.org/download/
ここでバージョン1.10.2を選択すると、rootユーザーは次のコマンドを実行してnginxソースパッケージをダウンロードします。
[ root@lab1 nginx]# pwd
/opt/nginx
[ root@lab1 nginx]# wget http://nginx.org/download/nginx-1.10.2.tar.gz
注:他のバージョンを使用する場合は、公式バージョンに対応するバージョンがある場合は、上記の1.10.2を別のバージョンに変更してください...
(2) 解凍する
[ root@lab1 nginx]# pwd
/opt/nginx
[ root@lab1 nginx]# ls
nginx-1.10.2.tar.gz
[ root@lab1 nginx]# tar zxf nginx-1.10.2.tar.gz
(3) コンパイルしてインストール
rootユーザーは、次のコマンドを実行してnginxソースコードをコンパイルします。
[ root@lab1 nginx]# cd nginx-1.10.2[root@lab1 nginx-1.10.2]# pwd
/opt/nginx/nginx-1.10.2[root@lab1 nginx-1.10.2]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
正常にコンパイルされました:
注意:
(1) コンパイルディレクトリは上記で指定されています。-prefix= / usr / local / nginxは/ usr / local / nginx環境にコンパイルすることを意味し、/ usr / local / nginxディレクトリはこの時点では生成されません。
(2) パスを指定しない場合、デフォルトで/ usr / local / nginxにインストールされます
(3) インストール(make install)後、whereisnginxを使用してインストール場所を照会できます。
(4) - - with-httpstubstatusmodule --with-httpssl_moduleは、httpステータスモジュールとhttpsslモジュールを追加することを意味します
ルートは、インストールするために次のコマンドを実行し続けます。
[ root@lab1 nginx-1.10.2]#
[ root@lab1 nginx-1.10.2]# pwd
/opt/nginx/nginx-1.10.2[root@lab1 nginx-1.10.2]# make && make install
次のコマンドを実行して、nginxのインストール場所を表示します。
[ root@lab1 nginx-1.10.2]# whereis nginx
nginx:/usr/local/nginx
これまでのところ、nginxは正常にインストールされています
以下に示すように、nginxインストールパスの下のsbinで./nginx -tを実行して、構成ファイルをテストします。
[ root@lab1 sbin]# pwd
/usr/local/nginx/sbin
[ root@lab1 sbin]# ./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
起動:インストールパスの下のsbinの下で実行します。/nginx
[ root@lab1 sbin]# pwd
/usr/local/nginx/sbin
[ root@lab1 sbin]# ./nginx
停止:インストールパスの下のsbinで./nginx -sstopまたは./nginx-squitを実行します
[ root@lab1 sbin]# pwd
/usr/local/nginx/sbin
[ root@lab1 sbin]# ./nginx -s stop
[ root@lab1 sbin]# ./nginx -s quit
再起動:インストールパスの下のsbinで./nginx -sreloadを実行します
[ root@lab1 sbin]# pwd
/usr/local/nginx/sbin
[ root@lab1 sbin]# ./nginx -s reload
スムーズな再起動:kill -HUP [nginxメインプロセス番号]
[ root@lab1 sbin]# ps -ef|grep nginx|grep master|awk '{print $2}'|xargs kill -HUP
rootユーザーは、次のコマンドを実行してファイアウォールルールファイルを編集します
[ root@lab1 sbin]# vim /etc/sysconfig/iptables
22ポート構成の下に次の行を追加します。
- A INPUT -m state --state NEW -m tcp -p tcp --dport 80-j ACCEPT
rootユーザーは、次のコマンドを実行してファイアウォールを再起動します。
[ root@lab1 sbin]# vim /etc/sysconfig/iptables
[ root@lab1 sbin]# service iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules:[ OK ]
iptables: Unloading modules:[ OK ]
iptables: Applying firewall rules:[ OK ]
プロセスを表示します。
[ root@lab1 sbin]# ps -ef|grep nginx
root 89171012:47?00:00:00 nginx: master process ./nginx
nobody 89348917012:48?00:00:00 nginx: worker process
root 89901477012:51 pts/100:00:00 grep nginx
ブラウザに入力します。
http://192.168.56.130/
次のコンテンツが表示される場合は、nginxが正常に実行されていることを意味します。
rootユーザーは、システム環境変数ファイルを編集します。
[ root@lab1 sbin]# vim /etc/profile
ファイルの最後に次の情報を追加し、保存して終了します。
##### nginx #####
export NGINX_HOME=/usr/local/nginx
export PATH=$NGINX_HOME/sbin:$PATH
注意:
(1) / usr / local / nginxは、インストールされたnginxと同じディレクトリに保存されます。whereisnginxを使用して、nginxインストールディレクトリを表示できます。
rootユーザーは、次のコマンドを実行して、環境変数を有効にします。
[ root@lab1 sbin]# source /etc/profile
検証:
rootユーザーは、次のコマンドを実行して、PATHにnginxディレクトリがあるかどうかを確認します。
[ root@lab1 sbin]# echo $PATH
/usr/local/nginx/sbin:/opt/hbase/hbase-1.3.1/bin:/opt/hadoop/hadoop-2.7.4/bin:/opt/storm/apache-storm-1.0.4/bin:/opt/zookeeper/zookeeper-3.4.10/bin:/usr/java/jdk1.8.0_20/bin:/opt/hbase/hbase-1.3.1/bin:/opt/hadoop/hadoop-2.7.4/bin:/opt/storm/apache-storm-1.0.4/bin:/opt/zookeeper/zookeeper-3.4.10/bin:/usr/java/jdk1.8.0_20/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
環境変数を構成した後、任意のディレクトリで直接nginxを実行できます
nginx #nginxを開始します
nginx -s stop #nginxを停止します
nginx -s quit #nginxを停止します
ngins -s reload #nginxを再起動します
ルートユーザーは/etc/rc.localスクリプトを編集し、次のコンテンツを追加して保存し、終了します。
vi /etc/rc.local
# nginx config
/usr/local/nginx/sbin/nginx
例:
注意:
(1) / usr / local / nginx / sbin / nginxこの構成は、nginxインストールディレクトリに関連しています。nginxが他のディレクトリにインストールされている場合は、独自のインストールディレクトリでsbin / nginxコマンドを構成する必要があります。
(2) rc.localスクリプトは、他のすべての初期化スクリプトが実行された後に実行されます。したがって、スクリプトで構成された自動起動サービスには、部分的な遅延が発生する場合があります。
Recommended Posts