Nginx インストールの詳細なチュートリアル

Nginx インストールの詳細なチュートリアル

1. Nginxの簡単な紹介

Nginx は、無料のオープンソースの高性能 HTTP サーバーおよびリバース プロキシ サーバーです。また、IMAP、POP3、SMTP プロキシ サーバーでもあります。Nginx は、Web サイトを公開するための HTTP サーバーとして使用したり、負荷分散を実装するためのリバース プロキシとして使用したりできます。

Nginxとその機能の詳細については、Baiduで検索してください。

2. Nginxの基本依存パッケージをインストールする

[root@nginx ~]# yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel -y

3. 関連ソフトウェアパッケージをダウンロードする 3.1 nginxの安定バージョンをダウンロードする

注: Nginx インストール パッケージのダウンロード アドレスに移動し、必要なバージョン リンクをコピーします。ここでは、Nginx-1.14.0 を例に挙げます。

[root@nginx~]# cd /usr/local/src/  
[root@ nginx src]# wget http://nginx.org/download/nginx-1.14.0.tar.gz

3.2 nginx-sticky モジュールをダウンロードする (オプションのインストール、クラスターに適用)

機能: セッションのスティッキー問題を解決するためのバックエンドの負荷分散。

[root@nginx src]# wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz

3.3 ngx_cache_purge モジュールをダウンロードする(オプションのインストール)

機能: ngx_cache_purge を Nginx にコンパイルして、指定された URL のキャッシュをクリアします。

(公式ウェブサイトアドレス: http://labs.frickle.com/nginx_ngx_cache_purge/)

[root@nginx src]# wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz 

4. Nginxユーザーとグループを追加する

[root@nginx ~]# グループ追加 www    
[root@nginx ~]# useradd -g www www -s /sbin/nologin

注意: nginx 実行ユーザー www を作成し、www グループに追加します。www ユーザーはシステムに直接ログインできません。

5. Nginxソースコードパッケージを解凍し、解凍ディレクトリに移動してコンパイルおよびインストールします。

[root@nginx src]# tar zxf nginx-1.14.0.tar.gz 
# 3.2 のオプションに注意してください [root@nginx src]# tar zxf ngx_cache_purge-2.3.tar.gz 
# オプションの 3.3 に注意してください [root@nginx src]# tar zxf nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar.gz      
[root@nginx src]# cd nginx-1.14.0/

注: 「=」記号の後には、インストール パッケージの絶対パスと構成ファイルのパスが続きます。

[root@nginx-master nginx-1.14.0]# ./configure --prefix=/usr/local/nginx  
> --user=www --group=www       
> --http_stub_status_module を追加      
> --with-http_realip_module --with-http_ssl_module    
> --with-http_gzip_static_module      
> --http-client-body-temp-path=/var/tmp/nginx/client    
> --http-proxy-temp-path=/var/tmp/nginx/proxy     
> --http-fastcgi-temp-path=/var/tmp/nginx/fcgi
# 3.2 オプションに注意してください > --with-pcre --add-module=/usr/local/src/ngx_cache_purge-2.3 
# 3.3 オプションに注意してください> --add-module=/usr/local/src/nginx-goodies-nginx-sticky-module-ng-08a395c66e42 

コンパイルが完了したら:

[root@nginx nginx-1.14.0]# make && make install

注意: すべての Nginx モジュールはコンパイル時に追加する必要があり、実行時に動的に読み込むことはできません。

6. Nginxプログラムの実行パスを最適化する

[root@nginx nginx-1.14.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 
[root@nginx nginx-1.14.0]# nginx -t

次のような問題が発生した場合:

次のディレクトリを作成する必要があります:

[root@nginx nginx-1.14.0]# mkdir -p /var/tmp/nginx/client 

7. Nginxの管理を容易にするためにNginxの起動コマンドを設定する

nginx を管理するための元のコマンドはあまり便利ではありません。

[root@nginx-master ~]# nginx nginxを起動します
[root@nginx-master ~]# nginx -s reload nginxを再起動します
[root@nginx-master ~]# nginx -s stop nginxを停止します

次に、一般的な管理コマンドを設定します。

1) 起動コマンド スクリプト ファイルを作成します。

[root@nginx ~]# vim /etc/init.d/nginx

2) この Nginx ファイルに次の起動スクリプト コードを挿入します。

-----------------------------------スクリプトは以下のとおりです----------------------------------
#!/bin/bash
# chkconfig: -85 15
PATH=/usr/local/nginx
DESC="nginxデーモン"
名前=nginx
デーモン=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
スクリプトNAME=/etc/init.d/$NAME
セット-e
[ -x "$DAEMON" ] || 終了 0
実行を開始する() {
$DAEMON -c $CONFIGFILE || echo -n "nginxはすでに実行されています"
}
停止() {
$DAEMON -s stop || echo -n "nginx が実行されていません"
}
リロード() {
$DAEMON -s reload || echo -n "nginx はリロードできません"
}
ケース「$1」
始める)
echo -n "$DESC を開始: $NAME"
始める
「。」をエコーし​​ます。
;;
停止)
echo -n "$DESC を停止しています: $NAME"
やめる
「。」をエコーし​​ます。
;;
リロード|優雅)
echo -n "$DESC 設定を再読み込みしています..."
リロードする
「。」をエコーし​​ます。
;;
再起動)
echo -n "$DESC: $NAME を再起動しています"
やめる
始める
「。」をエコーし​​ます。
;;
*)
echo "使用法: $scriptNAME {start|stop|reload|restart}" >&2
出口3
;;
エサック
終了 0
[root@nginx ~]# cd /etc/init.d/

3) 起動スクリプト nginx ファイルの実行権限を全員に設定します。

[root@nginx init.d]# chmod a+x nginx

4) システムサービスに nginx を追加します。

[root@nginx init.d]# chkconfig --add nginx

5) 起動時にサービスを開始するように設定します。

[root@nginx init.d]# chkconfig nginx をオンにする

注意: 有効にするにはシステムを再起動してください。

6) 再起動後、以下のコマンドを実行して管理できます。

systemctl start nginx.service # nginxを起動します
systemctl stop nginx.service # nginxを終了
systemctl restart nginx.service # nginxを再起動します
systemctl enable nginx.service #起動

8. Nginxが起動しない場合は、次の方法を試してください。

1) 以前に httpd がインストールされている場合は、まず httpd をアンインストールする必要があります。そうしないと、Nginx の起動ポートが変更されない限り、起動が失敗します。

[root@nginx ~]# yum remove httpd -y

2) それでも起動しない場合は、次の方法を試してください: Nginx関連のプロセスを終了した後、Nginxを起動します

[root@nginx ~]#ps -A | grep nginx           
[root@nginx ~]#kill -9 pid1            
[root@nginx ~]#kill -9 pid2

3) それでも問題が解決しない場合は、ログ情報を確認して解決策を見つけます。

9. Nginxを起動してテストにアクセスする

注意: Nginx の最適化とリバース プロキシ機能は今後も更新され続けます。

要約する

以上が編集者が紹介したNginxインストールの詳細なチュートリアルです。皆様のお役に立てれば幸いです!

以下もご興味があるかもしれません:
  • Win10 で IIS + MySQL + nginx + php7.1.7 をインストールして構成する
  • Win10にnginxをインストールする方法
  • DockerにNginxをインストールする方法
  • Centos システムの指定された場所に Nginx をインストールする方法
  • Nginx インストール エラーの解決方法
  • Centos6.6 で php7 + nginx 環境をインストールする方法
  • Centos に PHP7.4 と Nginx をインストールする方法
  • Centos8 に nginx をインストールするための詳細なチュートリアル (画像とテキスト)
  • Linux での nginx のインストール、展開、使用方法の詳細な説明
  • LinuxにNginxをインストールする正しい手順
  • Win10にnginxをインストールして設定するプロセス

<<:  MySQL で 2 つのデータベース テーブル構造を比較する方法

>>:  jQuery で従業員管理登録ページを実装する

推薦する

CSSの4種類の配置の違いの詳細な説明

フロントエンド開発でよく使われるCSSの配置方法は、位置決めには、通常位置決め、相対位置決め、絶対位...

ウェブフロントエンドコードを書く際の考慮事項のまとめ

1. HTMLタグの前に次のような文を追加するのが最適です。 <!DOCTYPE HTML P...

Linux クラウド サーバーに新しいディスクをマウントする方法

背景社内に新しいサーバーが追加され、2Tのハードディスクがマウントされました。sshでログイン後、マ...

CSS スタイルを変更してグレーの Web ページ (色なし、明るい白黒のみ) を実現するいくつかの方法

通常、清明節、国哀悼日、大地震の日、影響力のある偉人の死去または命日には、ウェブマスターとして、故人...

Linux statコマンドの使用

1. コマンドの紹介stat コマンドは、ファイルまたはファイル システムに関する詳細情報を表示する...

Tomcat を設定して IntelliJ IDEA 2018 で最初の Java Web プロジェクトを実行する方法

1 Tomcatをダウンロードして起動する公式サイト http://tomcat.apache.or...

TypeScript のマップされた型とより優れたリテラル型推論について説明します。

目次概要マップされた型を使用して Object.freeze() を構築するマッピングタイプの構文は...

Echarts は 1 つのグラフ内で異なる X 軸を切り替える機能を実装します (サンプル コード)

レンダリング下の画像のような効果を実現したい場合は、読み続けてアニメーション画像に直接進んでください...

MySQL でタイムスタンプを日付に変換する例

序文職場で次のような状況に遭遇しました。ログ システムのテーブルでは、時間フィールドには日付データで...

IE6/IE7/IE8/IE9/FF 向け CSS ハック (概要)

IE8.0の正式版をインストールしたので、基本的なCSS HACKをいくつかまとめてみました。We...

MySQL 5.7 における部分テーブルのデュアルマスター同期の実装プロセスの詳細な説明

序文最近、私はある要件に遭遇しました。会社の業務上、2 つのデータベース間の一部のテーブルは、リアル...

Vue は Tencent TIM インスタント メッセージングを統合します

この記事では主に、Tencent TIM インスタント メッセージングを Vue と統合する方法を紹...

CSS3 メディアクエリにおけるデバイス幅と幅の違いの詳細な説明

1.デバイス幅定義: 出力デバイスの画面表示幅を定義します。 Web ページが Safari で開か...

CSS でマウスの位置をマッピングし、マウスを動かしてページ要素を制御する (サンプル コード)

マウスの位置をマッピングしたり、ドラッグ効果を実装したりすることは、 JavaScriptで行うこと...

Vue が Ref を使用してレベル間でコンポーネントを取得する手順

VueはRefを使用してレベル間でコンポーネントインスタンスを取得します例の紹介開発プロセスでは、レ...