使用宝塔部署项目在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+端口号访问
3. 使用浏览器访问这个二级域名,就会有成功的页面表示部署已经成功一半了。接下来就可以将前端的代码放到服务器上了
4. 退出这站点的设置,找到该站点的文件,将前端代码解要到这个文件夹就可以了
5. 最后还有个小问题,前端代码部署好,后浏览器访问二级域名,但是一刷新就会报404,这个是要在nginx配置文件里配置:
注意:不要在nginx配置文件中配置,因为以后服务器会建设多个网站,如果都在nginx配置文件中配置,代码耦合度高,不利于修改,而且以后维护的过程寻找这个二级域名的配置会特别困难。
所以在nginx配置文件的最下方有一段代码, inclued vhost/*.conf 这段代码意思是包含vhost文件下的conf结尾的配置文件。当执行到inclued时会继续执行vhost下的.cof文件。
这个文件夹里的.conf文件都是默认以你创建的站点的域名命名的。
在这个.conf文件中添加
在这里插入图片描述

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

    location / {try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404index  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,资源找不到,而且站点中的响应日志也是记录的资源找不到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145263.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

手把手教你-MAC笔记本安装Pytorch环境

MAC笔记安装Pytorch 环境安装 1. 安装brew 方法1 参考: https://www.jianshu.com/p/e0471aa6672d?utm_campaignhugo 使用中科大镜像加速访问: /usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)&qu…

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【时间管理】

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 子系统开发内核 轻量系统内核(LiteOS-M) 轻量系统内核&#…

百望云生态伙伴大会在北京、深圳、昆明三地举办,携手共赢数字化未来!

伴随着金税四期数电票、乐企加速扩围,激发了企业大量的财税数字化转型的需求,为财税服务市场注入了前所有未有的活力。2024年7月9日,百望云成功登陆港交所,成为港股“电子发票第一股”,加码财税业务布局,纵…

【C++ Primer Plus习题】16.10

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <string> #include <…

【刷题日记】15. 三数之和

15. 三数之和 两数之和可以用巧思也可以用map 三数之和会更加复杂一点&#xff0c;且这道题还需要考虑避免重复答案&#xff01; 思路&#xff1a; 特判&#xff1a;检如果nums 为 null 或长度小于 3直接返回空数组。排序&#xff1a;使用 sort对数组进行升序排序。就变成了…

京东h5st 4.8逆向

最开始扒的时候版本号还是4.1&#xff0c;现在已经到了4.8了&#xff0c;原来的AES也没有了&#xff0c;现在都是魔改的加密方法&#xff0c;还整成了vmp。跟了一下整个流程&#xff0c;和原来的流程大差不差&#xff0c;h5st变长了&#xff0c;一共分9部分。简单走一下流程。 …

玩具车检测系统源码分享

玩具车检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Visio…

web基础—dvwa靶场(十二)JavaScript Attacks

JavaScript Attacks (前端攻击) 本章节中的攻击旨在帮助您了解如何在浏览器中使用 JavaScript 以及如何对其进行操作&#xff0c;攻击可以通过分析网络流量来实现&#xff0c;但这不是本章节的重点而且可能要困难得多。 只需提交单词 “success” 即可攻击成功&#xff0c;显然…

编写程序,在一行上显示1-5数字,每个相邻的数字要求用空格进行分开

目录 前言 一、一行输出&#xff08;使用一个System语句输出&#xff09; 二、多行输出&#xff08;使用多&#xff08;N&#xff09;个System语句输出&#xff09; 三、循环输出&#xff08;使用for语句循环在通过System语句输出&#xff09; 四、完整代码 前言 1.本文所…

图神经网络池化方法

图神经网络池化方法 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 图神经网络池化方法前言一、扁平图池化二、分层图池化1.节点聚类池化2.节点丢弃池化 参考文献 前言 图池化操作根据其池化策略的差异&#xff…

windows C++-并行编程-并行算法(四)- 并行排序

并行模式库 (PPL) 提供了对数据集合并行地执行工作的算法。这些算法类似于 C 标准库提供的算法。并行算法由并发运行时中的现有功能组成。 PPL 提供三种排序算法&#xff1a;concurrency::parallel_sort、concurrency::parallel_buffered_sort 和 concurrency::parallel_radix…

志邦家居CIO吴俊涛谈转型:天润融通如何赋能家居行业未来

根据国家统计局、住建部等各部门综合数据显示&#xff0c;2024年国内泛家居全渠道销售额在预计将超过4.7万亿元&#xff0c;并且在存量房需求释放与智能家居品类创新的推动下&#xff0c;预计2027年将突破5.3万亿元&#xff0c;展现出强劲的增长弹性。 然而&#xff0c;家居行…

【Mysql】为modified_time和created_time设置默认值

建立表SQL&#xff1a; CREATE TABLE your_table_name (id int(11) NOT NULL AUTO_INCREMENT,/* 其他字段 */created_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT 创建日期,modified_time datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 修改…

如果 Linux 这么好,为什么没有更多的人使用它呢?

原文&#xff1a;DHH - 2024.09.02 几周前&#xff0c;我在推特上看到一个问题&#xff1a;“如果 Linux 这么好&#xff0c;为什么没有更多的人使用它呢&#xff1f;” 这是一个很合理的问题&#xff01;在你仔细考虑之前&#xff0c;直觉上这是正确的。Linux 甚至是免费的&a…

neo4j关系的创建删除 图的删除

关系的创建和删除 关系创建 CREATE (:Person {name:"jack"})-[:LOVE]->(:Person {name:"Rose"})已有这个关系时&#xff0c;merge不起效果 MERGE (:Person {name:"Jack" })-[:LOVE]->(:Person {name:"Rose"})关系兼顾节点和关…

10_Python流程控制_循环

循环 循环是控制程序重复执行特定代码块的关键结构。Python提供了几种不同的循环结构&#xff0c;以满足不同的编程需求。 While循环 while 循环会重复执行一个代码块&#xff0c;只要指定的条件为真。 适用情况&#xff1a;不清楚具体的循环次数&#xff0c;或者当条件一直…

“科学突破奖”获得者连续两篇Nature,成功绘制人类主要激酶底物特异性图谱

激酶研究进展 近期Nature期刊发表关于酪氨酸激酶的研究文章。这是威尔康奈尔医学癌症中心Jared L. Johnson和Lewis C. Cantley团队自2023年成功绘制丝/苏氨酸激酶底物特异性图谱后&#xff0c;时隔一年后再次成功绘制酪氨酸激酶底物特异性图谱&#xff0c;为理解激酶在信号传导…

MyBatis 分批次执行(新增,修改,删除)

import com.google.common.collect.Lists;import java.util.Iterator; import java.util.List; import java.util.function.Consumer;/*** Description mybatis分批插入数据使用* Author WangKun* Date 2024/9/19 11:20* Version*/ public class MyBatisSqlUtils {/*** param d…

Linux进阶命令-scp

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 经过上一章Linux日志的讲解&#xff0c;我们对Linux系统自带的日志服务已经有了一些了解。我们接下来将讲解一些进阶命令&am…

快速编写一款python漏洞批量检测工具

一、前言 以下列检测脚本示列&#xff1a; import requestsimport urllib3import re,string,randomfrom urllib.parse import urljoinimport argparseimport timeimport sslssl._create_default_https_context ssl._create_unverified_contexturllib3.disable_warnings(urllib…