使用nginx反向代理实现vue项目打包部署上线

在开发完成vue项目的时候,面临的问题就是打包部署。
打包很简单,只需要执行npm run build命令即可。
但是部署的时候需要使用nginx做反向代理,因为开发的时候我们使用的是webpack提供的proxyTable做的代理从而解决了开发环境的跨域请求问题。

使用nginx反向代理

根据前面写到的下载安装nginx服务器

配置nginx
 server {
        listen       9999; # 监听端口
        server_name  localhost; # 域名可以有多个,用空格隔开

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   C:\工作\project\client_admin_system\dist;     #站点根目录,即网页文件存放的根目录, 默认主页目录在nginx安装目录的html子目录。 
            index  index.html index.htm;    #目录内的默认打开文件,如果没有匹配到index.html,则搜索index.htm,依次类推
        }

        #ssl配置省略
         location /api {
            rewrite  ^.+api/?(.*)$ /$1 break;
            proxy_pass  http://192.168.1.100:7001;    #node api server 即需要代理的IP地址
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         }

        #error_page  404              /404.html;    #对错误页面404.html 做了定向配置

        # redirect server error pages to the static page /50x.html
        #将服务器错误页面重定向到静态页面/50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

注意事项

  • 监听的端口号和监听的名字
    监听的名字是域名或IP地址
  • 打包文件的存放位置
    可以是服务器的html文件夹下,也可以是磁盘的目录地址
  • 设置代理需要重写/api
    因为在开发的时候所有的接口都是以/api开头的,所以在请求代理的时候和proxyTable一样的逻辑,需要rewrite重写。
 在前端发起以api开头的请求(如/api/index),nginx rewrite请求地址转发至8080端口服务,然后node来负责请求处理,重写之后的地址则没有/api(如/index)
  • 如果不用rewrite匹配正则重写/api的话,会以下错误:
    在这里插入图片描述
nginx多站点部署测试

多站点部署只需要将nginx的conf/nginx.conf中的server复制一份即可。
然后更改复制后的server里面的配置即可。
在这里插入图片描述

  • 例如:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 9
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
将SpringBoot Vue项目部署到Linux服务器需要进行以下步骤: 1. 在服务器上安装Java和Node.js环境。 在Linux中使用命令sudo apt-get install java和sudo apt-get install nodejs安装好Java和Node.js环境。 2. 在服务器上安装Nginx服务器。 在Linux中使用命令sudo apt-get install nginx安装Nginx服务器,并使用sudo service nginx start启动Nginx。 3. 将SpringBoot Vue项目打包成jar包。 在SpringBoot项目根目录下使用命令mvn package打包jar文件。 4. 将打包好的jar文件上传到Linux服务器。 可以使用FTP工具将jar文件上传到Linux服务器的指定目录。 5. 在服务器中生成systemd服务配置。 在Linux中使用命令sudo vi /etc/systemd/system/springboot_vue.service创建配置文件,文件内容如下: [Unit] Description=springboot_vue Application After=syslog.target [Service] User=www-data ExecStart=/usr/bin/java -jar /path/to/jar/springboot_vue.jar SuccessExitStatus=143 [Install] WantedBy=multi-user.target 其中/path/to/jar/为jar文件上传到服务器的目录。 6. 重启systemd和Nginx服务器。 在Linux中分别使用命令sudo systemctl daemon-reload、sudo systemctl enable springboot_vue.service和sudo systemctl restart nginx重启systemd和Nginx服务器。 7. 配置Nginx反向代理。 在Linux中使用命令sudo vi /etc/nginx/sites-available/default修改配置文件,文件内容如下: server { listen 80; server_name your_domain_name; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 其中your_domain_name为你的域名。 最后,在浏览器中输入域名就可以访问部署好的SpringBoot Vue项目了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值