请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Nginx配置优化问题

老师您好,我自己写了个简单的博客网站,算是锻炼一下,网站已经写好放到了自己买的阿里云服务器上,前台: 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回答

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 回复 有任何疑惑可以回复我~
  • 提问者 慕前端2540064 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-02-18 17:20:59
  • 提问者 慕前端2540064 #2
    1.你说的对,我想了想确实如果一台服务器部署多个站点,是要用server_name区分,本来我就只想到一个网站的情况,没考虑多个的问题.
    2.这个你说的也对,这个admin是有两种做法,一种是在 用root定位,但是得在admin-front在再建一个admin目录;另一种就是用alias.两个我都试了,都可以.
    3.但是访问 http://106.14.200.95/admin 和http://106.14.200.95/admin/ 的问题,还是不知道怎么解决.
    回复 有任何疑惑可以回复我~ 2018-02-18 17:26:00
  • Jeson 回复 提问者 慕前端2540064 #3
    问题3,改下location的方式,如下:
        location ~ ^/admin {
    
          alias /opt/app/admin-front/;
    
        }
    回复 有任何疑惑可以回复我~ 2018-02-19 08:01:30
花花_YOU 2018-03-11 13:45:06

具体图片

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信