nginx構成でのlistenおよびserver_nameの理解

nginxがリクエストを受信すると、構成内のサービスモジュールと一致します。

一致する方法は、server_nameに対応し、その構成をリッスンするために、リクエストに含まれるホストとポートに依存することです。

IPとドメイン名のバインドが行われている場合、IPとドメイン名の両方が等しい

たとえば、次のとおりです。


server {
        listen 8080;
        server_name www.abc.com;
        access_log  /opt/htdocs/logs/abc.log combined;
        index index.html index.htm index.php;
        root /opt/htdocs/abc;
        if ( $query_string ~* ".*[\;'\<\>].*" ){
                return 404;
        }
        location / {
                try_files $uri $uri/ /index.php;
        }
        location ~ .*\.(php|php5)?$  {
                #fastcgi_pass unix:/dev/shm/php-cgi.sock;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi.conf;
                }
 
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
                expires 30d;
                }
 
        location ~ .*\.(js|css)?$ {
                expires 7d;
                }
}

たとえば、サーバーのIPアドレスは1.2.3.4です。ドメイン名www.abc.comとipがバインドされている場合、上記の構成では、server_nameがwww.abc.comでも1.2.3.4でも、 1.2.3.4:8080またはwww.abc.com:8080から当社のウェブサイトにアクセスしてください

 

1.ポート80は、サーバーがWebサイトアクセスサービスを提供するデフォルトのポートです。www.9410.com.cnなどのWebサイトにアクセスする場合、実際の完全なアドレスはhttp://www.9410.com.cn:80で、省略されます現時点では、www.9410.com.cnですが、ドメイン名解決を行う際に、ポートの問題を考慮する必要はありません。

2.デフォルトのポートが使用されていない場合、たとえば、サーバーがWebページアクセスサービスを提供しているが、ポートが81である場合、それを解決するには次の2つの方法しか使用できません。

1. ドメイン名ポインティング機能を引き続き使用して、ドメイン名を直接ipに解決します。つまり、http://www.abc.com:81からアクセスされるドメイン名の後に「:ポート番号」を追加します。

2.代わりにドメイン名のURL転送機能を使用します。IPが123.123.123.123でポートが81の場合、www.abc.comをhttp://123.123.123.123:81に転送するように設定します。

 

2番目の方法のURL転送機能を使用したくない場合、およびドメイン名にポートを設定したくない場合は、次の方法を使用できます

 

server {
        listen 80;
        server_name www.abc.com;
        access_log  /opt/htdocs/logs/abc.log combined;
        index index.html index.htm index.php;
        root /opt/htdocs/abc;
        if ( $query_string ~* ".*[\;'\<\>].*" ){
                return 404;
        }
        location / {
                try_files $uri $uri/ /index.php;
        }
        location ~ .*\.(php|php5)?$  {
                #fastcgi_pass unix:/dev/shm/php-cgi.sock;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi.conf;
                }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
                expires 30d;
                }

        location ~ .*\.(js|css)?$ {
                expires 7d;
                }
}

server {
        listen 1002;
        server_name 1.2.3.4;
        access_log  /opt/htdocs/logs/abc.log combined;
        index index.html index.htm index.php;
        root /opt/htdocs/abc;
        if ( $query_string ~* ".*[\;'\<\>].*" ){
                return 404;
        }
        location / {
                try_files $uri $uri/ /index.php;
        }
        location ~ .*\.(php|php5)?$  {
                #fastcgi_pass unix:/dev/shm/php-cgi.sock;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi.conf;
                }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
                expires 30d;
                }

        location ~ .*\.(js|css)?$ {
                expires 7d;
                }
}

 

25件の元の記事を公開 Like2 20,000以上の訪問

おすすめ

転載: blog.csdn.net/longjuanfengzc/article/details/88317450