nginx同域名下配置两个站点问题(绝对有效)

自建博客文章链接:http://www.heblogs.cn/articleDetails/60febce6c1e4a0695c1f8772
现在有两个静态前端静态项目: 静态官网、官网admin
现在需要将www.xxx.com指向官网 www.xxx.com/admin指向admin

思路:在nginx配置内开放一个本地端口 这里是开放88 用88监听本地的admin文件 之后监听开放给外界的80 /根目录配置官网 /admin反向代理到本地88端口 就可以完美解决了

解决方法:


server
    {
    
    
        listen 80;//默认指向
        server_name xxx.xx.x.xxx;//这里填你的ip
      	location / {
    
    //这里默认指向我的官网
      	    root  /www/wwwroot/blog;
            try_files $uri $uri/ /index.html;
      	}
      	location /admin {
    
    //这里由nginx代理到本地88端口
			proxy_pass http://127.0.0.1:88/;      	
		}
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    
    
            expires 30d;
        }
        location ~ /\. {
    
    
            deny all;
        }
        access_log  /www/wwwlogs/80.log;
        error_log   /www/wwwlogs/80_error.log;
    }
server
    {
    
    
        listen 88;
        server_name xxx.xx.xx.xxx;
        location / {
    
    //开放本地88端口 监听admin静态文件 上面会由80监听进行代理
            root  /www/wwwroot/blog_admin;
            try_files $uri $uri/ /index.html;
        }
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    
    
            expires 30d;
        }

        location ~ /\. {
    
    
            deny all;
        }
        access_log  /www/wwwlogs/88.log;
        error_log   /www/wwwlogs/88.error.log;
    }

坑点1:
配置完成后 打开官网 刷新404
解决方案:
server内监听当前根目录 增加 try_files $uri $uri/ /index.html;

      	location / {
    
    
      	    root  /www/wwwroot/blog;
            try_files $uri $uri/ /index.html;
      	}

坑点2:
www.xxx.com/admin/js/test.js nginx会报404错, 看到nginx错误,
解决方案:
nginx默认配置有做 js缓存 ,有以下这段代码 删掉他就好了

location ~ .*\.(js|css)$ {
    
    
    expires 12h;
    access_log off;
  }

Guess you like

Origin blog.csdn.net/weixin_45815859/article/details/119024845