使用宝塔部署项目在win上

项目部署

注意:

前后端部署项目,需要两个域名(二级域名,就是主域名结尾的域名,需要在主域名下添加就可以了),前端一个,后端一个

思路:访问域名就会浏览器会加载前端的代码在浏览器执行,执行前端代码时会访问域名+路径的形式,访问服务器的jar项目。

这里说明,域名解析就成了ip地址,其实也可以在前端代码中写死ip地址,但是请求访问就是ip+路径的形式访问。但是这里也有不好的地方,比如要更换服务器,那么前端代码要修改ip地址,并重新编译。如何是域名的话,就只需要在主域名下的二级域名管理修改ip地址就可以了

这里使用的宝塔部署的

前端部署:

1.在网站新建创建一个站点,将二级域名填入就可以了,其他的不变。保存即可,后选择该站点进行设置

2.选择申请SSL证书,Let's Encrypt这个是免费的证书,选择二级域名进行申请。

①如果申请失败,那么二级域名的ip地址有问题,因为这个是二级域名的ip地址是对应着该服务器ip地址,ssl申请会审批二级域名的ip地址和该服务器的地址是否匹配。

②如果申请成功,就在证书夹里(在Let's Encrypt旁边),找到对应的站点后部署就可以了

注意:需要申请SSL证书,浏览器访问二级域名才会成功,否则会404。因为二级域名访问是https(ipv6)协议,SSL证书是https特征之一,必须要的。否则只能使用http协议(ipv4),ip+端口号访问

  1. 使用浏览器访问这个二级域名,就会有成功的页面表示部署已经成功一半了。接下来就可以将前端的代码放到服务器上了

  2. 退出这站点的设置,找到该站点的文件,将前端代码解要到这个文件夹就可以了

  3. 最后还有个小问题,前端代码部署好,后浏览器访问二级域名,但是一刷新就会报404,这个是要在nginx配置文件里配置:

注意:不要在nginx配置文件中配置,因为以后服务器会建设多个网站,如果都在nginx配置文件中配置,代码耦合度高,不利于修改,而且以后维护的过程寻找这个二级域名的配置会特别困难。

所以在nginx配置文件的最下方有一段代码, inclued vhost/*.conf 这段代码意思是包含vhost文件下的conf结尾的配置文件。当执行到inclued时会继续执行vhost下的.cof文件。

这个文件夹里的.conf文件都是默认以你创建的站点的域名命名的。

在这个.conf文件中添加

下面两个配置是关键所在!!!!!!

yaml 复制代码
    location / {
        try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
        index  index.html index.htm;
    }
    #对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
    #因此需要rewrite到index.html中,然后交给路由在处理请求资源
    location @router {
        rewrite ^.*$ /index.html last;
    }

但是我只使用了location这个一个配置,下面的没有使用。也可以不用直接修改.conf文件,可以在站点设置中,配置文件中修改,这个也是修改.conf文件的。

后端代码部署

  1. 在网站中创建一个新的站点,填入二级域名(这个是第二二级域名,不要和前端的二级域名相同)

  2. 申请SSL证书

  3. 进入该站点的文件价,新建一个jar文件夹用于放jar包,并创建bat脚本内容如下

    (1) @echo off

    (2) title 你的窗口的名字

    (3) java -jar 你的jar包的绝对路径,就是哪个盘,比如D:/wwwroot/...

    (4) Pause

    注意:这个代码就卸载txt记事本中,然后修改后缀名未bat文件

  4. 最后进入在站点的设置,在反向代理中,添加代理规则用来代理你的jar项目,端口好就是http:127.0.0.1:6803(6803是jar项目的端口好,根据你的端口号来设置),其他保存不变,确定就可以了

  5. 后端项目启动就可以了

注意

  1. 不要用一个站点来部署前端又部署后端,这是有问题的(这个就是想要省一个域名的想法,只要买了一个主域名,二级域名随便申请,不要钱的)
    (1) 其中答案很简单,就是一个站点里如开启反向代理,那么这个站点就是一个后端的jar项目(其实也就代理jar项目的端口号,通过端口号访问到jar项目),就不是一个前端项目了,如果访问二级域名,那么不会加载前端的index.html文件。那么访问二级域名就等同于访问这个服务器的ip+端口号,没有jar项目的访问路径的,所以报404,资源找不到,而且站点中的响应日志也是记录的资源找不到。
相关推荐
Gabriel_wei7 天前
腾讯云Ubuntu系统安装宝塔,配置Java环境,运行spring boot项目
java·spring boot·ubuntu·腾讯云·宝塔
Gabriel_wei8 天前
宝塔面板FTP连接时“服务器发回了不可路由的地址。使用服务器地址代替。”
运维·服务器·ftp·宝塔
PeakXin20 天前
Spring Boot 项目打包及在宝塔面板上部署的简易指南
java·spring boot·部署·宝塔
Mike_Leigh2 个月前
手把手教你如何在宝塔上添加可道云登录页面的ICP备案信息,别跟权威开玩笑。
php·腾讯云·宝塔·icp备案·可道云·无脑修改
sontin2 个月前
宝塔部署springboot vue ruoyi前后端分离项目,分离lib、resources
java·spring boot·后端·部署·前后端分离·宝塔
阿灿在it2 个月前
VPS测试脚本,网络线路,路由测试,流媒体服务器测试脚本
linux·服务器·宝塔·测试脚本
志远有18CM2 个月前
MacOS 通过Docker安装宝塔面板搭建PHP开发环境
macos·docker·php·宝塔
Peter_Gao_5 个月前
ubuntu22安装宝塔面板
ubuntu·宝塔
shall_zhao5 个月前
CentOS服务器安装宝塔(图文详解)
宝塔