NGINX는 동시에 여러 개의 80개 포트를 수신하고 여러 도메인 이름을 일치시킵니다(Linux 서버).

1. 배경

최근에 졸업하고 직장생활을 하고 있는 디자인과 학생을 위해 계산기 체크인 사이트를 작성했는데, 새로 신청해서 二级域名이전 서버에 올려두었는데, nginx제 서버에 해당하는 나머지 80개 포트가 이 새 서버에 포함되어 있는 것을 발견했습니다. 2차 도메인 이름. . 드디어 해결하는데 5시간 정도 걸렸고, 이런 일이 다시 발생하지 않도록 녹화했습니다.

2. 사고의 핵심

  • Vue history패키징 프로젝트
  • 쓸 수 있는server_name
  • @와 도메인 이름 www사이 , @와 www 도메인 이름 사이 , @와 www 도메인 이름 사이에 공백이 있어야 합니다 .

3. Nginx 세부 구성

user root root;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    
    
    worker_connections  1024;
}


http {
    
    
    include       mime.types;
    default_type  application/octet-stream;
    server_names_hash_bucket_size 128;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

     # 开启gzip
     gzip  on;
     # 低于1kb的资源不压缩
     gzip_min_length 1k;
     # 设置压缩所需要的缓冲区大小
     gzip_buffers 4 16k;
     # 压缩级别【1-9】,越大压缩率越高,同时消耗cpu资源也越多,建议设置在4左右。
     gzip_comp_level 8;
     # 需要压缩哪些响应类型的资源,缺少自己补。
     gzip_types text/css text/javascript application/javascript image/gif;
     # 配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
     gzip_disable "MSIE [1-6]\.";
     # 是否添加“Vary: Accept-Encoding”响应头,
     gzip_vary on;
    server {
    
    
        listen       80;
        server_name  a.main.xyz www.a.main.xyz;
        # 开启gzip    
        #gzip  on;
        # 低于1kb的资源不压缩
        #gzip_min_length 1k;
        # 设置压缩所需要的缓冲区大小
        #gzip_buffers 4 16k;
        # 压缩级别【1-9】,越大压缩率越高,同时消耗cpu资源也越多,建议设置在4左右。
        #gzip_comp_level 8;
        # 需要压缩哪些响应类型的资源,缺少自己补。
        #gzip_types text/css text/javascript application/javascript image/gif;
        # 配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
        #gzip_disable "MSIE [1-6]\.";
        # 是否添加“Vary: Accept-Encoding”响应头,
        #gzip_vary on;

        location /nclockin/ {
    
    
            proxy_pass      http://localhost:3969/;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host  $http_host;
            proxy_set_header X-Nginx-Proxy true;
        }
		location /week {
    
    
            alias /root/songtang/nclockin/client/ai/happybirthday;
    	    try_files $uri $uri/ /index.html;
    	    index index.html;
        }	
		location / {
    
    
            root   /root/songtang/nclockin/client/dist;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
	    	proxy_redirect off;
	    	proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }  
    
    server {
    
    
    	listen       80;
		server_name  b.main.xyz www.b.main.xyz;
        location / {
    
    
            root   /root/songtang/nknowledge/client/dist;
            index  index.html index.htm;
 	    	try_files $uri $uri/ /index.html;
	    	proxy_redirect off;
        }
		location /nknowledge/ {
    
    
            proxy_pass      http://localhost:3966/;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host  $http_host;
            proxy_set_header X-Nginx-Proxy true;
        }

    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    
    
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    
    
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    
    
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    
    
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

추천

출처blog.csdn.net/s18438610353/article/details/128457629