您当前的位置:首页 > 计算机 > 服务器 > Nginx

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

时间:11-10来源:作者:点击数:

现在有两个静态前端静态项目: 静态官网、官网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;
  }
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐