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

推薦する

VMware 15.5 に CentOS7 をインストールするためのグラフィック チュートリアル

1. VMware 15.5で新しい仮想マシンを作成する1. VMware を開き、ホームページで「...

MySQL 権限制御の詳細分析

目次1. グローバルレベル2. データベースレベル3. 表面レベル4. 列レベルの権限5. サブルー...

HTML特殊文字の徹底分析

HTML徹底解析(14)特殊文字 ■ よく使われる特殊文字 HTMLタグを知っていれば、特殊文字の使...

よくある MySQL 設計エラーをご存知ですか?

インターネットの発達により、バスを待ったり地下鉄に乗ったりする時間など、断片的な時間を活用して、いつ...

Sysbench の MySQL ベンチマーク プロセスの分析

序文1.ベンチマークは、テスト オブジェクトのクラスの特定のパフォーマンス指標の定量的、再現可能、比...

Tomcat9 Windows サービスのインストールに関する詳細なチュートリアル

1. 準備1.1 service.bat を含む tomcat 圧縮パッケージをダウンロードします。...

Vue+EChartsは、中国の地図の描画と省の自動回転と強調表示を実現します。

目次成果を達成する完全なコード + 詳細なコメントまとめ成果を達成する完全なコード + 詳細なコメン...

Dockerボリューム権限管理の詳細な説明

ボリュームデータボリュームは Docker の重要な概念です。データ ボリュームは、1 つ以上のコン...

js データ型とその判定方法の例

js データ型基本データ型: 数値、文字列、ブール値、未定義、null、シンボル、参照データ型: オ...

Linux仮想マシンを作成し、仮想マシンネットワークを設定する方法に関するVMwareの詳細なチュートリアル

VMware で Linux 仮想マシンを作成し、VMware と仮想マシンのネットワークを設定する...

Python MySQL データベース テーブルの変更とクエリ

Python は MySQL に接続してデータベース テーブルを変更およびクエリします。 pytho...

npm 淘宝ミラー変更説明

1. トップレベルの使用法1. cnpmをインストールする npm i -g cnpm --regi...

フローティングをクリアするいくつかの方法(推奨)

1. 同じタイプの空の要素を追加し、要素の CSS 属性 clear:both; を設定します。 ...

JavaScript データ プロキシとイベントの詳細な分析

目次データブローカーとイベントObject.defineProperty メソッドのレビューデータブ...

Mysql 5.6ではユーザー名とパスワードを変更するメソッドが追加されました

まずMySQLにログインする シェル> mysql --user=root mysqlパスワー...