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フレームワークはショッピングカート機能を実装します

推薦する

Dockerコンテナオーケストレーション実装プロセス分析

実際の開発環境や本番環境では、コンテナを独立して実行することはあまりなく、複数のコンテナを一緒に実行...

WeChat アプレットのカスタム下部ナビゲーション バー コンポーネント

この記事の例では、WeChatアプレットの下部ナビゲーションバーコンポーネントの具体的な実装コードを...

MySQL truncate table ステートメントの使用

Truncate table ステートメントは、テーブル内のすべてのデータを削除/切り捨てるために使...

Pagoda Panel のインストール時にサーバーがデータベースにリモート接続できない問題の解決策

自分のウェブサイトを構築する予定なので、618 プロモーションを利用して Tencent Cloud...

Docker+Jenkinsを使用して自動的にビルドおよびデプロイする

この記事では、Docker+Jenkins の自動ビルドデプロイメントを紹介し、皆さんと共有します。...

背景属性の8つの属性値の詳細解説(面接の質問)

CSSの背景プロパティの値背景色背景画像背景繰り返し背景位置背景添付複合プロパティ: 背景: ba...

Reactホームページの読み込みが遅い問題のパフォーマンス最適化事例の詳細な説明

しばらくReactを勉強した後、実践してみたいと思います。そこで、個人のブログのウェブサイトを再構築...

Vue Notepadの例の詳細な説明

この記事の例では、メモ帳機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的...

MySQL 文字セットの変更に関する実践的なチュートリアル

序文: MySQL では、システムが多くの文字セットをサポートしており、異なる文字セット間にはわずか...

vue で h5 側のアプリを開きます (Android か Apple かを判断します)

1. 開発環境 vue+vant 2. コンピュータシステム Windows 10 Profess...

サブクエリ最適化における MySQL 選択の実装

以下のデモはMySQLバージョン5.7.27に基づいています。 1. MySQLサブクエリ最適化戦略...

JavaScript のモジュール性の説明

目次序文: 1. コンセプト2. モジュール化の利点3. 複数のスクリプトタグを導入した後の問題1....

sshとは何ですか?使い方は?どのような誤解があるのでしょうか?

目次序文SSHとは何かssh は何に使用されますか? sshの使い方ssh 再修正要約する序文ssh...

MySQL DISTINCTの基本実装原理の詳細な説明

序文DISTINCT は、GROUP BY 操作の実装と非常によく似ていますが、GROUP BY の...