nginxでイメージサーバーを構築する手順の詳しい説明(ルートとエイリアスの違い)

nginxでイメージサーバーを構築する手順の詳しい説明(ルートとエイリアスの違い)

インストール手順は省略します( yum -y install nginx;を使用して直接インストールしました)。

起動する

nginx を起動 (再起動) するには、次の 2 つのコマンドで十分です。

systemctl で nginx を再起動します。
# 注意: ここでの nginx はディレクトリではなく、/usr/sbin/nginx -s reload です。

通常、エラーがなければ起動は成功したことを意味します。

ページでnginxが起動しているかどうかを確認する

ブラウザに IP アドレスを入力して CentOS ページに戻ります。これは間違っていますか?
設定ファイルを見てみましょう:

ルート /usr/share/nginx/html;

このディレクトリのindex.htmlの内容はcentosホームページの内容なので問題なくnignxが起動していることになります(index.htmlのタイトルを変更して確認することもできます)。

準備

mkdir -p /data/images; # イメージ ファイルを保存するためのディレクトリを作成します chmod -R 755 /data/images; # 承認します cd /data/images; 
次にrzコマンドを使用して画像01.pngをアップロードします。

vim /etc/nginx.conf で設定を追加します:

場所 /画像 {
 ルート /data;
 自動インデックスオン;
}

ブラウザ入力:
画像サイズ: 111.222.333.444
成功を示す画像が表示されます。

エイリアス設定の使用

もちろん、エイリアスを使用することもできます。

場所 /画像 {
 alias /data/images; # 最後に '/' を追加する必要があると言われていますが、実際には autoindex on はそれなしでも実行できます。
}

次の文章には問題があります:

場所 /画像 {
 エイリアス /data; 
 自動インデックスオン; 
}

何が問題なのですか?
アドレスバーに /images/01.png と入力しても取得できません。
/imagesは/dataにマッピングされるため、
しかし、実際のディレクトリは/data/images/01.pngです。
つまり、画像が 1 つ少なくなります。

誤った設定

現実には、それほどスムーズではなく、落とし穴もたくさんあるでしょう。

誤った設定例 1 (ルート)

場所 /画像 {
 ルート /data/images;
 自動インデックスオン;
}

アドレスバーに ip/data/images/01.png と入力しても取得できません。なぜでしょうか?

予想される住所:
画像サイズ
住所:
画像ファイル

見つかりました、もう1枚画像があります、
ルートが使用されるため、アドレス = ルート + 場所

他の

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

エイリアス
住所ルート + 場所一致するものが見つからない場合は、エイリアス + 場所
一致が見つかった場合、場所と一致するエイリアスの部分が置き換えられます

他にも違いがあります。エイリアス パスの後に/が続く必要があると言われていますが、これは検証されていません。

autoindex on は何をしますか?

autoindex ディレクトリの参照を設定します。
オン: アドレスバーが画像に移動したときにファイルリストが表示されます
オフ: ファイルのフルパスが必要で、ディレクトリにのみ移動するページには403 forbiddenが表示されます。

場所 /画像 {
 	エイリアス /data;
 	# ディレクトリ参照機能、オン: アドレスバーに画像に到達するとファイルリストが表示されます。オフ: ファイルのフルパスが必要で、ディレクトリページに到達したときにのみ 403 禁止が表示されます。
 自動インデックスオン; 
}

ps: nginx 設定におけるルートとエイリアスの違い

たとえば、ディレクトリ http://127.0.0.1/download/* にアクセスする場合、ディレクトリ /opt/app/code に移動して検索します。

方法 1 (root キーワードを使用):

位置 / {
ルート /usr/share/nginx
}
場所 /ダウンロード {
gzip_static オフ;
tcp_nopush オフ;
ルート /opt/app/code;
}

結果: アクセスすると、/opt/app/code/download/ ディレクトリに移動して検索しました。つまり、このディレクトリに/downloadディレクトリの別のレイヤーが追加されます。

方法 2 (alias キーワードを使用):

位置 / {
ルート /usr/share/nginx
}
場所 /ダウンロード {
gzip_static オフ;
tcp_nopush オフ;
エイリアス /opt/app/code;
}

結果: アクセスすると、/opt/app/code/ ディレクトリに直接移動します。

要約する

nginx でイメージサーバーを構築する方法(ルートとエイリアスの違い)については以上です。nginx でイメージサーバーを構築する方法については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Ubuntu 18.04 で Nginx+RTMP+HLS+HTTPFLV サーバーを構成してオンデマンド/ライブ ブロードキャスト/録画機能を実現する方法の詳細説明
  • Ubuntu 14 に Nginx-RTMP ストリーミング サーバーをインストールするチュートリアル
  • Nginx-rtmp はライブメディアのリアルタイムストリーミング効果を実現します
  • Nginxはnginx-rtmp-moduleモジュールを使用してライブブロードキャストルーム機能を実現します。
  • Mac で nginx+rtmp ライブ サーバーを構築するための詳細な手順
  • Nginx サーバーで URL リンクを設定する方法
  • Nginxを使用してストリーミングメディアサーバーを構築し、ライブブロードキャスト機能を実現する
  • Linux サーバー上のローカル静的リソースにアクセスするために nginx を使用する方法
  • Nginx は rtmp ライブ サーバーの実装コードを構築します

<<:  Javascript 文字列メソッドの詳細な説明

>>:  MySQL5.7 mysqldump バックアップとリカバリの実装

推薦する

div の特定の実装は自動的に折り返されず、HTML で折り返されないよう強制されます。

1. 改行なしを実現するには<nobr>タグを使用するコードをコピーコードは次のとおりで...

Linuxでブーストライブラリをインストールするための完全な手順

序文Boost ライブラリは、標準ライブラリのバックアップとして機能し、C++ 標準化プロセスの開発...

Vue 円形パーセンテージ プログレスバー コンポーネントの機能の実装

必要な方はどなたでも参考にしてください。試してみて問題が見つかった場合は、メッセージを残してお知らせ...

WeChatアプレットキャンバスが署名機能を実装

WeChatアプレットプロジェクトでは、開発モジュールに手書き署名機能が含まれ、WeChatアプレッ...

Reactの親コンポーネントと子コンポーネント間のデータ転送の詳細な説明

目次1. 親コンポーネントが子コンポーネントにデータを渡す1.1. 親コンポーネントコード1.2. ...

CocosCreator Huarongdaoデジタルパズルの詳しい説明

目次序文文章1. パネル2. 華容島ソリューション3. コード4. 注記序文華容路とは何ですか? 誰...

jQueryフレームワークは、要素の表示と非表示の3つのアニメーションメソッドを実装しています。

目次1. デフォルトで表示と非表示を切り替える2. スライドして表示と非表示を切り替える3. フェー...

Docker を使用して ELK ログ システムを構築する例

以下のインストールではすべて、インストール ルート ディレクトリとして ~/ ディレクトリが使用され...

分散監視システムZabbixはSNMPとJMXチャネルを使用してデータを収集します

前回の記事では、Zabbix のパッシブ、アクティブ、Web 監視に関するトピックについて学習しまし...

Vue で webSocket を使用してリアルタイムの天気を更新する方法

目次序文webSocket の操作と例について:ウェブソケット1. webSocketについて2. ...

Nginx で同じドメイン名を持つ複数のプロジェクトを構成する方法

Nginx を使用して同じドメイン名で複数のプロジェクトを構成するには、次の 2 つの方法があります...

言及すべき8つのMySQLの落とし穴を共有する

MySQL はインストールが簡単で、高速で、豊富な機能を備えています。これはオープンソース運動のベン...

tomcat をインストールし、Linux で Web サイトを展開します (推奨)

jdk をインストールします: Oracle 公式ダウンロード https://www.oracl...

MySQL 匿名ログインでデータベースを作成できない問題の解決方法

よくある質問ユーザー ''@'localhost' によるデータベー...

ウェブページの要素の検査とソースコードの表示の違いについて

Chrome ブラウザで Web ページを開くと、ページを右クリックすると 2 つの非常によく似たオ...