美文网首页
前后端分离项目Nginx域名配置

前后端分离项目Nginx域名配置

作者: linjiajiam | 来源:发表于2019-01-08 16:55 被阅读0次

    一、项目背景

    • 项目分前后端,前端使用vue,提供web访问;后端使用spring boot,提供数据接口。
    • 服务器为Centos7

    二、目的

    • 实现前后端都可以通过域名去访问

    三、配置方法

    1.安装nginx

    具体可以看这篇文章:
    nginx安装教程

    2.域名绑定IP

    域名申请可以去阿里云申请,然后绑定你的服务器公网IP即可。申请过程此处不讲,绑定我简单截图如下。两个框,第一个红框填写你的域名,第二个填写你的公网IP:


    image.png
    3.Nginx配置
    3.1.配置前端项目域名访问
    • 我的前端项目是VUE,直接打包放在服务器的某个目录中,比如此处前端项目打包名字是demo,路径则为如下:
    /root/server/vue/demo
    
    • 进入到nginx的/etc/nginx/conf.d目录,新增一个文件,命名为demo.conf,然后编辑这个文件,加入如下内容:
    server {
    
        listen       80;
        server_name  www.demoProject.com;    #该域名为阿里云绑定服务器的域名
    
        location / {
            proxy_set_header Host $host;
            root /root/server/vue/demo;             #项目路径
            index /index.html;                        
            try_files $uri $uri/ /index.html;        #匹配不到任何静态资源,跳到同一个index.html
        }
    
        #error_page  404              /404.html;
    
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    
    }
    
    • 保存后,重启nginx
    systemctl restart nginx
    
    • 如果没有报错,此处应该可以在浏览器中通过域名www.demoProject.com直接访问你的前端项目了。
    3.2.配置后端项目域名访问
    • 此处我的后端项目是springboot,部署在tomcat中,tomcat端口号为8090
    • 进入到nginx的/etc/nginx/conf.d目录,新增一个文件,命名为demo-api.conf,然后编辑这个文件,加入如下内容:
    upstream api.demoProject.com{
        server 192.168.1.110:8090 weight=1;    #此处ip为服务器内网IP,端口号为tomcat端口号
    }
    
    
    server {
    
        listen       80;
        server_name  api.demoProject.com;
    
        location / {
            client_max_body_size 100M;
            proxy_set_header Host $host;
            proxy_pass http://api.demoProject.com;
        }
    
        #error_page  404              /404.html;
    
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    
    }
    
    • 保存后,重启nginx
    systemctl restart nginx
    
    • 如果没有报错,此处应该可以在浏览器中通过域名http://api.demoProject.com直接访问你的后端项目了。

    相关文章

      网友评论

          本文标题:前后端分离项目Nginx域名配置

          本文链接:https://www.haomeiwen.com/subject/jifbrqtx.html