Nginx配置优化问题

来源:5-3 Nginx常见问题_多个location匹配的优先级1

慕前端2540064

2018-02-17

老师您好,我自己写了个简单的博客网站,算是锻炼一下,网站已经写好放到了自己买的阿里云服务器上,前台: http://106.14.200.95 ,后台 http://106.14.200.95/admin/ , 前台是node服务,后台是java服务,前后端分离的,只是想试试不同的程序怎么发布而已. 现在功能都正常,代码没啥问题.我也已经将您的课程看完了,摸索着自己配置了nginx,能用,但是对于这个配置有些地方还是不太理解.当然也在不断的学习中,尤其是自己薄弱的Linux和Nginx配置这块.如果您觉得我可以自己解决,就不必回复,如果有兴趣,可以指点一二.

  1. server_name 我怎么感觉没什么用,是不是可以不写,或者写localhost,或者写ip地址,不写域名(如果有的话),因为我看阿里云买的域名有解析服务.可以在解析就指向云服务器的ip

  2. location /admin/  内部我本来也像前台一样,用root定位文件夹,但是不起作用,想到还有个alias,试试可以的.您如果访问 http://106.14.200.95/admin/ 可以,但是如果访问 http://106.14.200.95/admin 就不行了.我不知道这个怎么处理,试了试重定向,估计没配对,所以都不行.

   3.如果您还有别的建议,请一并写下,谢谢

server {

    listen       80;

    server_name  106.14.200.95;


    #charset koi8-r;

    #access_log  /var/log/nginx/host.access.log  main;


    location / {

      root  /opt/app/blog-front;

      index index.html;

    }


    location /blog/ {

      proxy_pass http://106.14.200.95:8090;

      proxy_set_header   Host    $host;

      proxy_set_header   Remote_Addr    $remote_addr;

      proxy_set_header   X-Real-IP    $remote_addr;

      proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

    }


    location /admin/ {

      alias /opt/app/admin-front/;

    }


    location ~ ^/api/ {

      proxy_pass   http://106.14.200.95:8080/admin-server-0.0.1-SNAPSHOT/$request_uri;

      proxy_cookie_path /admin-server-0.0.1-SNAPSHOT/ /api;

      proxy_set_header   Host    $host;

      proxy_set_header   Remote_Addr    $remote_addr;

      proxy_set_header   X-Real-IP    $remote_addr;

      proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

    }


    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

        root   /usr/share/nginx/html;

    }

}


写回答

2回答

RayRest

2018-02-18

1,比如说你的服务器有两个网站,也就是不同的网址,通过dns解析到服服务器,这里只有一个ip,如果都是使用的80端口,设置不同的 server_name 可以让用户直接访问相应的网站。

2. root /opt/app/admin-front/ 对应的是 /opt/app/admin-front/admin/ 而 alias opt/app/admin-front/ 对应的是 opt/app/admin-front/  你需要看看你的目录。


0
5
慕前端2540064
回复
Jeson
server { listen 80; server_name 106.14.200.95; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /opt/app/blog-front; index index.html; } location /blog/ { proxy_pass http://106.14.200.95:8090; proxy_set_header Host $host; proxy_set_header Remote_Addr $remote_addr; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /admin { rewrite /admin /admin/; } location /admin/ { alias /opt/app/admin-front/; } location /api/ { proxy_pass http://106.14.200.95:8080/admin-server-0.0.1-SNAPSHOT/$request_uri; proxy_cookie_path /admin-server-0.0.1-SNAPSHOT/ /api; proxy_set_header Host $host; proxy_set_header Remote_Addr $remote_addr; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
2018-02-19
共5条回复

花花_YOU

2018-03-11

具体图片

0
0

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程