现在有两个静态前端静态项目: 静态官网、官网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;
- }
-