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 バックアップとリカバリの実装

推薦する

docker-maven-plugin の詳細な使用方法

目次Docker-Maven-プラグインMavenプラグインの自動デプロイメント手順1. ホストマシ...

MySQLは文字列関数のSQL文をインターセプトします

1. left(name,4)は左の4文字をインターセプトしますリスト: SELECT LEFT(2...

美しいHTMLコードの書き方

美しい HTML コードの外観 美しい HTML コードの書き方。外国人が書いた記事: 美しい HT...

mysqlを使用して、URLから返されたhttp GETリクエストデータを記録します。

ビジネスシナリオの要件と実装ロジックの分析ビジネスでは、HTTP GET を使用してデータを要求する...

MySQLデータベースのマスタースレーブ同期の実際のプロセスの詳細な説明

目次インストール環境の説明MySQLデータベースサービスをインストールするメインライブラリを構成する...

HTML チュートリアル: 画像のサイズ、配置、間隔、境界線の属性を変更する方法

画像タグ: <img> ページに画像を挿入するには、「src」属性を持つ「img」タグを...

Nginx の高同時実行最適化の実践

1. チューニングの必要性​ 私は、どのように書けばいいのか本当に分からないので、共有するために最適...

JavaScript継承のさまざまな方法とメリット・デメリットを詳しく解説

目次1. プロトタイプチェーン継承2. コンストラクタの借用(古典的な継承) 3. 組み合わせ継承4...

MySQLの共通関数を使用してJSONを処理する方法

公式ドキュメント: JSON 関数名前説明JSON_APPEND() JSONドキュメントにデータを...

ドラッグ可能なログインボックスを実現するネイティブJS

この記事では、ネイティブ JS で実装されたドラッグ可能なログイン ボックスを紹介します。その効果は...

Linux zabbix エージェントの展開と設定方法の詳細な説明

1. web01にzabbix-agentをインストールするZabbix ウェアハウスをデプロイする...

Dockerコンテナを使用してプロキシ転送とデータバックアップを実装する方法

序文アプリケーションを Docker コンテナとしてサーバーにデプロイする場合、通常はネットワークと...

mysql5.7.17 zip の解凍とインストールの詳細な手順

1. ダウンロードアドレスhttps://dev.mysql.com/downloads/mysql...

Vueで背景色と透明度を設定する方法

背景色と透明度の設定上記のように、最初の画像の場合は、灰色の背景と左上隅に白い「カバー」という文字を...

Linux 上でプライベート Git サーバーを構築するための詳細なチュートリアル

1. サーバーのセットアップリモート リポジトリは実際にはローカル リポジトリと何ら変わりなく、純粋...