ホームページ  >  記事  >  運用・保守  >  Nginx仮想ホストを構成する方法

Nginx仮想ホストを構成する方法

王林
王林転載
2023-05-15 22:46:042687ブラウズ

1. Nginx 仮想ホストの構成

仮想ホスト: 通常、各サーバーをより多くのユーザーが利用できるようにするために、サーバーは多くの仮想サブサーバーに分割できます。すべて互いに独立しています。これらのサーバーは仮想化テクノロジーに基づいて分離されているため、1 つのサーバーを多数のサブサーバーに仮想化できます。サブサーバーを仮想ホストと呼びます。 Nginx サーバーをセットアップすると、現時点では Nginx サーバーは 1 つだけですが、このサーバー上に仮想ホストを構成すると、1 つの Nginx サーバーを複数の独立したサブサーバーに分割できます。

Nginx で仮想ホストを構成するには、主に 2 つの手順があります:

1. 仮想ホスト IP を作成します

ifconfig を通じて自分のホスト IP を確認し、ホスト IP に基づく仮想ホスト ホスト IP。

コマンド: ifconfig eth2:2 121.42.41.145 ブロードキャスト 121.42.43.255 ネットマスク 255.255.252.0

実行後の図に示すように:

Nginx仮想ホストを構成する方法

2. IP アドレスと仮想ホストをバインドします。

nginx.conf: このファイルは nginx のシステム設定ファイルです。変更しないことをお勧めします。通常、カスタム ファイルを使用し、そのファイルをロードして同じ効果を実現します。

/usr/local/nginx/conf ディレクトリに構成ファイル xnzj.conf を作成します。

#========工作衍生进程数(建议设置成与cpu核数相同或者2倍)==========
worker_processes  1;
#===========设置最大连接数==============
events {
    worker_connections  1024;
}
#============http协议的相关信息==============
http {
    server {
        #===========要监听虚拟主机的IP地址与端口==========
        listen 121.42.41.144:80;
        #===========该虚拟主机的名称===========
        server_name  121.42.41.144;
        #===============该虚拟主机服务器的日志文件=========
        access_log  logs/server144.access.log  combined;
        #============== 默认请求资源=============
        location / {
            root   html/server144;
            #===== nginx会先找index.html 如果没找到就找index.htm
            index  index.html index.htm;
        }
    }
    server {
        #===========要监听虚拟主机的IP地址与端口==========
        listen 121.42.41.145:80;
        #===========该虚拟主机的名称===========
        server_name  121.42.41.145;
        #===============该虚拟主机服务器的日志文件=========
        access_log  logs/server145.access.log  combined;
        #============== 默认请求资源=============
        location / {
            root   html/server145;
            index  index.html index.htm;
        }
    }
}

/usr/local/nginx/html

/usr/local/nginx/html/server144/index.html ;/usr / に対応する仮想ホストのデフォルト リソースを作成します。 local/nginx/html/server145/index.html

Nginx にカスタマイズされた設定ファイル (私の設定ファイル: xnzj.conf) をロードさせます

コマンドを実行します: / usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/xnzj.conf

2. ログ設定

Nginx サーバーは実行時に、さまざまな操作が行われ、その主要な操作情報がファイルに記録され、これをログファイルと呼びます。ログ ファイルの記録はフォーマットされており、システムのデフォルトのフォーマットに従って記録することも、カスタマイズしたフォーマットに従って記録することもできます。 log_format ディレクティブを使用して、Nginx サーバーのログ ファイルの記録形式を設定できます。

設定方法: nginx.conf ファイルを開き、コメント化された下位コードを有効にします。

#combined:日志输出格式 
     #remote_addr 客户端请求地址 
     #remote_user:客户端用户名  
     #request:请求的地址(服务器资源位置) 
     #status:用户的请求状态 
     #body_bytes_sent:服务器响应的资源大小(字节数),  
     #http_referer:源网页    
     #http_user_agent:客户端浏览器信息  
     #http_x_forwarded_for:客户端Ip地址  
    log_format  combined  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';
    #==================日志文件  access_log:off;表示关闭日志===========
    access_log  logs/access.log  combined;

ログの切断:

Nginx のログ ファイルの保存をより合理的かつ整然としたものにするためには、ログ ファイルを別々に保存する必要があります。たとえば、時間ごとに分けることができます。ファイル ファイルに保存され、明日のログ ファイルは別の新しいファイルに保存されます。このとき、ログファイルのカット操作を使用します。

ログの切断手順:

1. バッチ ファイルを作成します

/usr/local/nginx/logs ディレクトリで実行します [root@iZ28b4kreuaZ logs]# touch Cutlog.sh

2. ファイルにコンテンツを追加します:

D=$(date +%Y%m%d)
mv /usr/local/nginx/logs/access.log ${D}.log
kill -USR1 $(cat /usr/local/nginx/nginx.pid)

3. バッチ ファイルを定期的に実行します。crontab -e コマンドを実行して、次のコンテンツを追加します

23 59 *** /bin/bash /usr/local/nginx/logs/cutlog.sh

3. Nginx キャッシュ設定

いつ ブラウザで Web ページを閲覧すると、Web ページ上の一部の情報 (Web ページ上の画像など) がローカルに保存されます。Web ページを 2 回目に閲覧するとき、一部の情報はローカルに保存されます。 Web ページ上の内容はローカルに保存され、ローカルからロードできるため、はるかに高速になります。ローカルに保存されるこの情報はキャッシュと呼ばれます。しかし、キャッシュが多すぎると、キャッシュ ファイルが非常に大きくなり、通常のインターネット活動に影響を及ぼします。したがって、キャッシュを定期的にクリーンアップする必要があります。

設定方法: /usr/local/nginx/conf/nginx.conf 設定ファイルの http{server{}} 内の場所に次のコードを追加します:

#====================缓存配置=============
       location ~.*\.(jpg|png|swf|gif)${
            expires 2d;#两天后清除
       }
       location ~.*\.(css|js)?${
        expires:1h;#
       }

4. Nginx gzip 圧縮構成

ここで説明した圧縮機能は、gzip 圧縮テクノロジを指します。 gzip 圧縮技術により、元の Web ページのコンテンツ サイズを元のサイズの 30% に圧縮することができ、ユーザーが Web ページにアクセスする際、送信されるコンテンツがはるかに小さいため、アクセス速度が大幅に向上します。オリジナルのコンテンツ。 Nginx サーバーは gzip 圧縮テクノロジーをサポートしていますが、構成する必要があります。

設定方法: /usr/local/nginx/conf/nginx.conf 設定ファイルの http{ } に以下のコードを追加します:

gzip  on;#开启压缩
    gzip_min_lenth 1k;#设置使用压缩的最小单位
    gzip_buffers 4 16k;#创建压缩文件缓存大小
    gzip_http_version 1.1;#使用压缩技术的协议 及其版本
    gzip_vary:on;#开启判断客户端浏览器是否支持压缩技术

5. Nginx 自動ディレクトリ設定

クライアントがブラウザを介してサーバー上のフォルダーにアクセスするとき、そのフォルダーにデフォルトのホームページ ファイル (index.html など) が存在する場合、ユーザーは自動的にindex.html ページにアクセスします。ただし、index.html などのデフォルトのホームページ ファイルがない場合、この時点でフォルダー内に他のファイルがあると仮定すると、ユーザーは自動ディレクトリ一覧表示機能を設定せずにフォルダーのコンテンツにアクセスできません。ただし、自動ディレクトリ一覧表示機能を設定すると、フォルダー内のすべてのファイルの一覧が表示され、ディレクトリの一覧も自動的に表示されます。

ディレクトリの自動リストを実現するには、次の 2 つの条件が必要です:

1. アクセスしたフォルダーにインデックスなどのデフォルトのホームページ ファイルが存在しない。

2.服务器配置了自动列目录功能。

配置方式:/usr/local/nginx/conf/nginx.conf 配置文件的http{ server{}}中添加 如下代码:

location / {
            root   html;
            index  index.html index.htm;
            autoindex on;#开启自动列目录
        }

以上がNginx仮想ホストを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。