Linux での nginx のインストール、展開、使用方法の詳細な説明

Linux での nginx のインストール、展開、使用方法の詳細な説明

1. ダウンロード

公式サイトダウンロードアドレス

2. 展開

2.1 インストールの前提条件

Linuxにインストールするには、次のコンポーネントをインストールする必要があります。

1. gcc && g++
yum で gcc-c++ をインストールします
2. pcre
yum インストール -y pcre pcre-devel
3. ズリブ
yum インストール -y zlib zlib-devel
4. オープンSSL
yum インストール -y openssl openssl-devel

2.2 インストール

1. nginxファイルを解凍します。tar -zxvf nginx-1.17.5.tar.gz
2. インストール## nginx インストールディレクトリを作成する mkdir nginx
nginx-1.12.2をインストールします
## ファイルのインストールパスを指定します。/configure --prefix=/home/lege/nginx
作る
インストールする
#インストールが完了すると、コンテンツは指定されたパス /home/lege/nginx にインストールされます。それ以外の場合は、デフォルトのディレクトリ /usr/local/nginx にインストールされます。

2.3 nginxを起動する

## 設定ファイルを変更する cd /home/lege/nginx/conf
vim nginx.conf
## ポートを 8080 に設定するか、または他の listen 8080 に設定します。
## スタートアップディレクトリに入る cd /home/lege/nginx/sbin
## 設定ファイルに問題がないか確認します。/nginx -t
##問題がない場合の結果は次のとおりです。
[soa@testsoa04 sbin]$ ./nginx -t
nginx: 設定ファイル /home/lege/nginx/conf/nginx.conf の構文は正常です
nginx: 設定ファイル /home/lege/nginx/conf/nginx.conf のテストが成功しました
[soa@testsoa04 sbin]$ 
 
## 設定パラメータを照会します。/nginx -V
## インストールされたnginxでは、設定パラメータを変更する必要があります。/configure --prefix=/home/lege/nginx ...設定パラメータは
インストールする 
次にnginxを再起動します。## ./nginxを起動します。
## 停止 ./nginx -s stop
## ./nginx -s reload を再起動します
## 正常に起動したかどうかを確認するための URL を入力します http://ip:port/

3. Nginxログ関連の設定

ログ定義の形式:
構文フォーマット: access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];
           access_log オフ;
デフォルト値: access_log ログ/access.log を組み合わせたもの。
スコープ: http、サーバー、場所、場所内にある場合、limit_except
 
1. ログ形式の構文を定義します: log_format name [escape=default|json] string ...;
デフォルト値: log_format combined "...";
スコープ: http
 
共通ログ変数 $remote_addr、$http_x_forwarded_for はクライアントの IP アドレスを記録します。$remote_user はクライアントのユーザー名を記録します。$request は要求された URL と HTTP プロトコル (GET、POST、DEL など) を記録します。
$status はリクエストのステータスを記録します。$body_bytes_sent は、応答ヘッダーのサイズを除いて、クライアントに送信されたバイト数です。この変数は、Apache モジュール mod_log_config の "%B" パラメータと互換性があります。
$bytes_sent クライアントに送信されたバイトの合計数。
$connection 接続のシリアル番号。
$connection_requests 接続を通じて受信された現在のリクエスト数。
$msec ログ書き込み時間。単位は秒、精度はミリ秒です。
$pipe リクエストが HTTP パイプライン経由で送信される場合、パイプの値は「p」になり、それ以外の場合は「.」になります。
$http_referer はリンクがアクセスされたページを記録します。$http_user_agent はクライアント ブラウザー関連の情報を記録します。$request_length はリクエストの長さ (リクエスト ライン、リクエスト ヘッダー、リクエスト ボディを含む) です。
$request_time リクエスト処理時間(秒単位、ミリ秒精度)。クライアントから読み取られた最初のバイトから、最後の文字がクライアントに送信され、ログに書き込まれるまでの時間です。
$time_iso8601 ISO8601 標準形式のローカル時間。
$time_local 共通ログ形式のローカル時間。
 
例:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" "$request_time" '
           '"$http_user_agent" "$http_x_forwarded_for"

ログ関連のクリーンアップには、Linux のスケジュールされたタスクを使用できます。例は次のとおりです。

clear.sh スクリプトは次のとおりです。

#!/bin/bash
#LOGS_PATH はログ保存パスです LOGS_PATH=/home/lege/data/nginx/logs
昨日=$(日付 -d "昨日" +%Y-%m-%d)
KEEPTIME=$(日付 -d "-3 日" +%Y-%m-%d)
#ログファイルを分割 mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
#Nginx セマフォ制御を介してログを再読み込みします。/web/nginx/ は nginx インストール ディレクトリです。kill -USR1 $(cat /home/lege/data/nginx/logs/nginx.pid)
#3日前のログファイルを削除します rm -f ${LOGS_PATH}/access_{KEEPTIME}.log
rm -f ${LOGS_PATH}/error_{KEEPTIME}.log
エコー0
 
crontab -e に以下を追加します。
0 0 * * * /bin/sh /home/lege/data/nginx/logs/clear.sh
 
crontab -l 追加が成功したかどうかを確認する

4. ファイルダウンローダーとして nginx を使用する

http {
  server_tokens オフ;
  クライアント_ヘッダー_バッファ_サイズ 8k;
  クライアントの最大ボディサイズは130mです。
  プロキシバッファサイズ 64k;
  プロキシバッファ 8 64k;
  log_format アクセス '$remote_addr $host $remote_user [$time_local] $status $request_length $body_bytes_sent $request_time 0 0 0 - "-" "$request" "$http_referer" "$http_user_agent" $http_cookie $bytes_sent';
  access_log ログ/access.log アクセス;
  キープアライブリクエスト 16;
  キープアライブタイムアウト 5;
  サーバー{
    8080を聴く;
    server_name ローカルホスト;
    文字セット utf-8;
    位置 / {
      default_type 'application/octet-stream';
      add_header コンテンツ配置「添付ファイル」;
      ## ダウンロードできるファイルのパスを設定します。以下は Windows でのテストに使用されるパスです。Linux の場合は、対応するパス ルート D://tools//nginx-1.17.4//conf に置き換えることもできます。
     }
   }
}

設定が完了したら、nginx を再起動し、ブラウザで http://ip:8080/conf の下のファイル名を入力して、対応するファイルをダウンロードします。追記: ディレクトリをダウンロードすることはできません。ダウンロードできるのはファイルのみです。

要約する

上記は、編集者が紹介した Linux での nginx のインストール、展開、使用のプロセスです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux での nginx のコンパイルとインストールのチュートリアルとコンパイル パラメータの詳細な説明
  • Linux に Nginx をインストールする方法 (pcre と openssl)
  • Linux での nginx のインストールと設定の詳細な説明
  • Linux に nginx をインストールして起動する方法
  • Linux に Nginx サーバーをインストールして構築する詳細な手順
  • Linux に nginx をインストールする方法
  • Linux で nginx 用の waf モジュールをインストールする
  • Linux サーバー nginx のアンインストールとインストールのチュートリアル
  • Linux システムに 2 つの nginx をインストールする簡単な方法
  • LinuxにNginxを素早くインストールする方法

<<:  このようなシェル スクリプトを使用して、多数の MySQL データベースを強制終了します (推奨)

>>:  Vue.jsフレームワークはショッピングカート機能を実装します

推薦する

Linux シェル環境での Zabbix API の使用

Linux シェル環境で直接呼び出すことができます。公式 Web サイトによると、Zabbix のデ...

MySQLスレーブのメンテナンスに関する経験の共有

序文: MySQL マスター/スレーブ アーキテクチャは、最も一般的に使用されるアーキテクチャ セッ...

Javascript デザインパターン プロトタイプ モードの詳細

目次1. プロトタイプモード例1例2例3 2. オブザーバーパターン1. プロトタイプモードプロトタ...

HTML テーブル マークアップ チュートリアル (40): ヘッダーの暗い境界線の色属性 BORDERCOLORDARK

テーブルヘッダーでは、暗い境界線の色を個別に定義できます。基本的な構文<TH 境界線の色を暗く...

MySQLのバージョンアップ方法を超詳しく解説

目次1. はじめに2. データベースをバックアップする3. オリジナルのMysqlをアンインストール...

Zabbixで指定時間内の変化値を設定する方法の詳細な説明

背景説明: 既存の負荷分散装置には、付加価値状態にある指標があります (増加するだけで減少しないため...

【HTML要素】タグテキストの詳細説明

1. 基本的なテキスト要素を使用してコンテンツをマークアップするまず表示効果を見てみましょう:対応す...

docker エントリポイントファイルの詳細な説明

Dockerfile を作成するときは、コンテナが起動する前に初期化構成やカスタム構成を実行するため...

ネイティブ js はフォームの定期的な検証を実装します (検証後にのみ送信)

以下の機能が実装されています。 1. ユーザー名: onfouc は msg ルールを表示します。o...

MySQL で遅いファジークエリを最適化する方法

目次1. はじめに: 2. 最初のアイデアはインデックスを構築することです3. 命令P.S. Lik...

JavaScript の構造化代入の一般的なシナリオと例 5 つ

目次序文1. データを抽出する2. エイリアス値3. 動的プロパティ4. オブジェクトの分解における...

CentOS 6.5 の設定 ssh キーフリーログインで pssh コマンドを実行する方法の説明

1. psshを確認してインストールします。yum list pssh 2. キーレスログインが設定...

素晴らしい CSS ナビゲーション バーの下線効果

中国初のカッター github.com/chokcocoまず、ここに画像があります。純粋な CSS ...

Reactでコンポーネントがどのように通信するかの詳細な説明

1. 何ですかコンポーネント間の通信は、次の 2 つの単語に分けることができます。コンポーネントコ...

Mybatisの各SQL文の実行時間の統計

背景最近、面接でデータベース トランザクションについてよく質問されます。通常は、@Transacti...