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 つのヒント

推薦する

Apache ab を使用して HTTP パフォーマンス テストを実行する

MacにはApache環境が付属していますターミナルを開き、sudo apachectl -v と入...

バッテリー残量が少なくなったときに Linux を自動シャットダウンする方法

序文最近、私の住居の電力事情が不安定で、突然の停電が頻繁に起こります。ノートパソコンを持っているので...

メタ宣言注釈の手順

メタ宣言注釈の手順: 1. モバイル ページと 1 対 1 で対応するすべての PC ページを分類し...

vue3+TypeScript+vue-routerの使い方

目次使いやすいプロジェクトを作成するvue-cli 作成ヴィートクリエイションvue-routerを...

両側にCSS固定レイアウト、中央に適応レイアウトを実装

フローティング、フローティング埋め込み div、配置、フレックスという 4 つの一般的な方法と原則を...

MYSQL における char と varchar の違い

CHAR 型と VARCHAR 型は似ていますが、主に格納場所、末尾のスペース、取得方法が異なります...

MySQL 単一テーブルクエリの例の詳細な説明

1. データを準備するこのテーブルでは次の操作が実行されます 学生テーブルを作成 ( id int ...

MySQL query_cache_type パラメータと使用方法の詳細

MySQL クエリ キャッシュを設定する目的は次のとおりです。クエリ結果をキャッシュしておくと、次回...

ARM64アーキテクチャでmysql5.7.22をインストールするプロセス全体

MySQLダウンロードアドレス: https://obs.cn-north-4.myhuaweicl...

Dockerを使用してSpring Bootプロジェクトをデプロイする手順

目次シンプルなSpringbootプロジェクトを作成する1. pom.xmlでSpring Boot...

MySQL UNION演算子の基本知識ポイント

MySQL UNION 演算子このチュートリアルでは、MySQL UNION 演算子の構文と例を紹介...

MySQL 5.7.19 インストールディレクトリに my.ini ファイルを作成する方法

前回の記事では、MySQL 5.7.19 無償インストール版 (64 ビット) の設定方法についての...

間違った MySQL コマンドをキャンセルしたい場合はどうすればいいですか?

間違った mysql コマンドを入力したのでキャンセルしたいです。どうすればいいですか? ctrl ...

html2canvas で破線境界線を実装する例

html2canvas は、HTML 要素からキャンバスを生成するライブラリです。描画されるキャンバ...