使用宝塔部署项目在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,资源找不到,而且站点中的响应日志也是记录的资源找不到。
相关推荐
java_logo18 小时前
宝塔 Linux 面板 Docker 容器化部署指南
linux·运维·docker·宝塔·docker部署宝塔·宝塔部署教程·docker部署baota
quweiie13 天前
宝塔安装postgis3.6插件的详细步骤
postgresql·postgis·宝塔
阿里小阿希3 个月前
【ThinkPHP项目添加新页面完整解决方案】
php·宝塔
棒棒的唐3 个月前
panther X2 armbian24 安装宝塔(bt)面板注意事项
宝塔·armbian·pantherx2
panfuyong115 个月前
宝塔面板如何升级OpenSSL
宝塔
varphp5 个月前
宝塔申请证书错误,提示 module ‘OpenSSL.crypto‘ has no attribute ‘sign‘
服务器·python·宝塔
牧羊狼的狼7 个月前
阿里云服务器-宝塔面板安装【保姆级教程】
运维·服务器·阿里云·宝塔
不想当程序猿_8 个月前
Centos 7系统 宝塔部署Tomcat项目(保姆级教程)
linux·redis·centos·tomcat·minio·宝塔
kang578910 个月前
使用宝塔管理服务器
运维·服务器·安全·宝塔
fendouweiqian1 年前
宝塔面板 php8.0 安装 fileinfo 拓展失败
php·宝塔