Nginx のインストールと設定ルールの詳細な紹介

Nginx のインストールと設定ルールの詳細な紹介

1. nginxのインストールと操作(Mac OS環境)

1. nginxをインストールする

Homebrew 経由で直接インストールできます:

$brew nginx をインストール

インストール後、デフォルトのホームページファイルは/usr/local/var/wwwフォルダにあります。

デフォルトの設定ファイルのアドレスは/usr/local/etc/nginx/nginx.confです。

Nginx はデフォルトでポート 8080 を使用します。ポートが占有されていることがわかった場合 ( $lsof -i:8080でポートの占有状況を確認)、ポートを使用してプロセスを強制終了できます ( $kill 進程PID )。または、nginxのデフォルトポートを変更します( /usr/local/etc/nginx/nginx.conf

2. nginxを起動する

$brew サービスが nginx を起動します

または、 /usr/local/binディレクトリに移動して$./nginxと入力します。

起動が成功したら、ブラウザでhttp://localhost:8080/にアクセスすると、nginx サーバーから返された静的リソースが表示されます (デフォルトは /usr/local/var/www/index.html)。

3. nginxを停止する

$ nginx -s 停止

4. nginxを再起動する

$ nginx -s リロード

5. nginx設定パス情報を表示する

$brew 情報 nginx

2. nginxルールの設定

より多くの構成を表示できます

https://www.nginx.com/resources/wiki/start/#pre-canned-configurations

http://nginx.org/ja/docs/ を参照してください。

http://www.nginx.cn/doc/

1. 場所

場所の文法記事

2. ルートとエイリアス

nginx では、ルートとエイリアスを通じてリソースのアクセス パスを指定できます。

1) ルート:

位置 / {
  ルート /usr/local/var/www/;
  インデックス index.html index.htm;
}

上記のルールでは、アドレスhttp://localhost:8080/index.htmlが要求されると、アクセスされるリソースは /usr/local/var/www/index.html になります。

アドレスhttp://localhost:8080/test/a.pngを要求すると、アクセスされるリソースは /usr/local/var/www/test/a.png になります。

つまり、アクセスされるリソース アドレスは、実際には、root で指定されたパス + location で一致するパスになります。

2) 別名:

alias はエイリアスであり、その一致ルールは root のものと若干異なります。

場所 /a/ {
  エイリアス /usr/local/var/www/b/;
}

上記のルールでは、アドレスhttp://localhost:8080/a/要求すると、アクセスされるリソースは /usr/local/var/www/b/index.html になります。

アドレスhttp://localhost:8080/a/1.gifを要求すると、アクセスされるリソースは /usr/local/var/www/b/1.gif になります。

つまり、アクセスされるリソース アドレスは alias で指定されたパスであり、location で一致するパスとは関係ありません (location で一致するパスは破棄されます)。

3) ルートとエイリアスの違い:

エイリアスは location でのみ使用できますが、root は server、http、location に存在できます。

エイリアスの後には「/」が続く必要があります。そうしないと、ファイルは見つかりません。一方、ルートの場合は「/」はオプションです。

3. ファイルを試す

場所 /test/ {
  try_files $uri $uri/ /a/1.png;
}

try_files は、Web サイトのディレクトリからユーザーがアクセスしたファイルを読み取ろうとします。最初の変数が存在する場合は直接戻り、存在しない場合は 2 番目の変数の読み取りを続けます。存在する場合は直接戻り、存在しない場合は 3 番目のパラメータにジャンプします。

$uri は、ユーザーがアクセスしたアドレスを格納する nginx 変数です。たとえば、http://www.xxx.com/index.html にアクセスする場合、\$uri は /index.html になります。

$uri/ はアクセスされるディレクトリを表します。たとえば、http://www.xxx.com/hello/test/ の場合、\$uri/ は /hello/test/ になります。

たとえば、上記のルールでは、アドレスhttp://localhost:8080/test/2.png要求すると、try_files はそれがファイルかディレクトリかを判別します。最初のパラメータ $uri 変数に一致するファイルであることがわかります。次に、Web サイトのディレクトリに移動して、test/2.png ファイルが存在するかどうかを確認します。存在する場合は、それを読み取って直接返します。存在しない場合は、3 番目のパラメータにジャンプし、Web サイトのルート ディレクトリ + /a/1.png ファイル (/usr/local/var/www/a/1.png) を返します。

詳しい使用方法: https://www.jb51.net/article/156899.htm

4. 書き直す

構文を書き換える

書き換え機能は、URL の書き換えとリダイレクトを実装します。

構文書き換えrewrite regex replacement [flag];

rewrite はserver{}location{}if{}にのみ配置でき、渡されたパラメータを除くドメイン名の後の文字列に対してのみ機能します。たとえば、 http://www.xxx.com/a/b/index.html?param=1&u=strは /a/b/index.html のみを書き換えます。

書き換えの実行順序は次のとおりです。

  • サーバーブロックの書き換えディレクティブを実行する
  • 位置マッチングを実行する
  • 選択した場所で書き換えディレクティブを実行します

フラグフラグ:

  • last : Apacheの[L]フラグに相当し、書き換えが完了したことを示します。
  • break: 現在の仮想ホストの後続の書き換え命令セットの実行を停止します
  • リダイレクト: 302一時リダイレクトを返し、アドレスバーにリダイレクトされたアドレスが表示されます。
  • permanent: 301永続リダイレクトを返し、アドレスバーにリダイレクトされたアドレスが表示されます。
場所 /home/ {
  ^/home/test/ http://www.baidu.com を書き換えます。
}

上記のルール: アドレスhttp://localhost:8080/home/test/アクセスすると、ページは http://www.baidu.com にリダイレクトされます。

いくつかのヒント:

ブラウザの URL 表示を変更せずに nginx で URL をリダイレクトするにはどうすればよいですか?

proxy_passはリバースプロキシを指定できます

詳しい使用方法: https://www.jb51.net/article/134233.htm

3. コマンドライン設定(Mac OS)

1. コマンドラインでvscodeを使ってファイルを開く方法

/usr/local/bin/ をコピーします
ln -s "/Applications/Visual Studio Code.app/Contents/MacOS/Electron" vscode

このうち、 /Applications/Visual Studio Code.app/Contents/MacOS/Electronが vscode の実行ファイルであり、ln -s コマンドはこれをソフトリンク経由で /usr/local/bin/ ディレクトリに置くというものです。この方法では、コマンドラインの別の場所にある vscode コマンドを使用してファイルを開くことができます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • CentOS 6.4 のインストールと LNMP サーバーの設定 (Nginx+PHP+MySQL)
  • PHP をサポートするための nginx のインストールと設定に関するチュートリアル (完全版)
  • php-fpm をインストールして設定し、Nginx+PHP の運用環境を構築します。
  • MacでのNginxインストール環境設定の詳細な説明
  • Nginx サーバーに PHPMyAdmin をインストールして設定するチュートリアル
  • Nginx サーバーのインストールと基本的な設定の概要
  • Nginx の簡単なインストールと設定方法のグラフィックチュートリアル

<<:  React は入力値を取得し、2 つのメソッドの例を送信します

>>:  MySQL データ ウェアハウスを保護するための 5 つのヒント

推薦する

MySQL の 3 つの浮動小数点型 (float、double、decimal) の違いと概要について簡単に説明します。

各浮動小数点型のストレージ サイズと範囲は、次の表に示されています。タイプサイズ範囲(符号付き)範囲...

Baota LinuxパネルにFTP接続できない問題の解決方法の詳細な説明

Alibaba Cloud Server を使用している場合は、セキュリティ グループ設定でポート ...

MySQL ストアドプロシージャの長所と短所の分析

MySQL バージョン 5.0 ではストアド プロシージャのサポートが開始されました。ストアド プロ...

MySQL Workbenchのダウンロードと使用方法のチュートリアルの詳細な説明

1. MySQL WorkbenchをダウンロードするWorkbench は、MySQL のグラフィ...

CSSを使用して複数の画像を中央に水平に表示する方法

まず実装手順について説明します。最終結果 2. コードの実装HTML部分 <div class...

Dockerでボリュームを管理する2つの方法

前回の記事では、Dockerの基礎知識であるローカルディレクトリのマウント方法を紹介しました。今日は...

MySQL での find_in_set() 関数の使用に関する詳細な説明

まず、例を見てみましょう。記事テーブルにはタイプフィールドがあり、1 見出し、2 おすすめ、3 ホッ...

Linux の操作とメンテナンスの基本的なスワップ パーティションと LVM 管理のチュートリアル

目次1. スワップパーティション SWAP 1.1 スワップファイルを作成する1.2 スワップパーテ...

JavaScript によるデータ視覚化: ECharts マップの作成

目次概要予防1. 使用方法2. 実装手順予備実装コード効果: Geo共通設定上記の構成を追加した後の...

WeChatアプレットコンポーネントライフサイクルの落とし穴の記録

通常、コンポーネントのライフサイクルは、ビジネス ロジックが始まる場所です。ビジネスシナリオが複雑で...

VUE+CanvasはシンプルなGobangゲームの全プロセスを実現します

序文レイアウトの点では、Gobang はランダムな動きを目的とするゲームよりも実装がはるかに簡単で、...

CSS オーバーフローラップの新しいプロパティ値をどこでも使用

1.まず、overflow-wrap属性を理解する CSS のoverflow-wrapプロパティは...

ハイパーリンクのWebデザイン原則

<br />関連記事: Web コンテンツ ページ作成のための 9 つの実用的なヒント、...

ハイパーコネクションの4つの状態の適用の詳細な説明

ブラウザの問題かもしれないと思うかもしれませんが、スタイル定義の順序が間違っている可能性が高いです。...