前后端分别部署教程 ---- 第三部分项目部署和挂载到微信公众号

article/2025/10/1 18:39:42

3. 前端

这里介绍的是idea开发工具下的项目打包

3.1 项目打包

一定要在指定项目路径下打开 Terminal,不然会打错项目的包.

  1. 右击项目名称,然后点击 Open in Terminal

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ulyEinrl-1608275117599)(部署img/部署41.png)]

  1. 在下面的 Terminal窗口中, 输入打包命令: npm run build,然后回车即可开始打包:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SsP8QjCb-1608275117600)(部署img/部署42.png)]

    打包成功:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pAJN1wYo-1608275117601)(部署img/部署43.png)]

3.2 部署

  1. 该前端项目路径下找到 dist文件夹,即已打包好的代码和静态文件都在里面。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I1gxUFff-1608275117602)(部署img/部署44.png)]

  1. dist文件夹上传至服务器

    阿里云服务器:可以通过共享的那个磁盘进行复制拷贝直接上传;

  2. dist文件夹放在 nginx目录下的 html文件夹中

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A0UsKSD2-1608275117603)(部署img/部署45.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EulXWBBX-1608275117605)(部署img/部署46.png)]

3.3 修改 nginx 配置文件

在nginx目录下的conf文件夹中找到 nginx.conf 配置文件,先备份一下(以防自己乱配配错了),然后双击点开 nginx.conf

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q6RZe6Fu-1608275117605)(部署img/部署47.png)]

根据自己的情况修改配置文件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tzZke6s5-1608275117606)(部署img/部署48.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VomtTB5h-1608275117607)(部署img/部署49.png)]

3.4 访问

在 nginx 启动的情况下,部署并配置好文件后,即可根据 公网IP+:端口号域名,在浏览器上访问,如下:

http://xx.xxx.xxx.xx:8004/

如果能正常打卡前端项目的首页,即部署成功。至于能不能跟后端连通,还得部署好后端和数据库。

4. 后端

这里介绍的是idea开发工具下的项目打包

4.1 项目打包

先点开右边的 maven缩小工具栏,先双击 clean清一下缓存,然后再双击 package 进行打包:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oundm8OT-1608275117609)(部署img/部署50.png)]

4.2 部署

  1. 该后端项目路径下找到 xxx.war 打包文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VF4ADY6N-1608275117610)(部署img/部署51.png)]

  1. xxx.war 打包文件 上传至服务器

    阿里云服务器:可以通过共享的那个磁盘进行复制拷贝直接上传;

  2. xxx.war 打包文件 放在Tomcat目录下的 webapps文件夹中:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D9aBYcZg-1608275117611)(部署img/部署52.png)]

在Tomcat目录下的 bin文件夹中双击 startup.bat即可启动Tomcat,运行Tomcat后会自动将打包文件解压:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nS5cUanD-1608275117612)(部署img/部署53.png)]

4.3 修改 Tomcat 配置文件

进入tomcat的conf目录下,找到server.xml文件进行备份,然后再配置.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-klIlttc6-1608275117613)(部署img/部署54.png)]

5. 数据库

5.1 与MySQL建立连接

  1. 点击连接,在下拉列表中选择 MySQL

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VjxUI8s7-1608275117613)(部署img/部署55.png)]

  2. 在弹出的对话框中输入连接名,然后点击左下角的 “测试连接” ,如果成功会弹出 “连接成功” 提示框,然后点击提示框中的 “确认”按钮,再点击右下角的 “确认”按钮,即新的连接已创建成功:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sCjzQtMJ-1608275117614)(部署img/部署56.png)]

  1. 左边会出现刚刚创建的连接,双击新建的连接名,即可自动连接打开:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O62oM2Oh-1608275117615)(部署img/部署57.png)]

5.2 将项目的数据迁移导入服务器中

  1. 先将本机数据库中数据转储为SQL文件:双击要迁移的数据库名,连接后再右击,然后选中 ”转储 SQL 文件“ -----》 ”结构和数据…“,然后选择 转储的SQL文件 保存的路径位置.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uc7AccHz-1608275117616)(部署img/部署64.png)]

  1. 将该 SQL文件 上传至服务器,在服务器中的 Navicat中新建一个同名的数据库:

    • 在新建的roseLin连接名选中右击,然后在弹出的右键菜单中选择 ”新建数据库…“;

    • 在弹出的 ”新建数据库“ 对话框中填入 和本机转储的数据库一致的数据库名,字符集和排序规则可以根据自己需求选择,也可以不填,然后点击确认;

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FxRFBhBx-1608275117617)(部署img/部署65.png)]

  2. 双击新建好的数据库名,连接后再右击,然后在弹出的右键菜单中选择 ”运行SQL文件…“;

  3. 在弹出的 ”运行 SQL 文件“对话框中,点击右侧 ”…“ 按钮,选择要运行的SQL文件,然后点确定再点击开始,即可将数据库完整复制过来;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nlOVIfeI-1608275117618)(部署img/部署66.png)]

5.3 创建新用户

这里之所以会介绍 如何创建新用户,是因为我后端项目连接数据库不是用的 MySQL的root用户和密码连接登录,是我之前在本机自建的用户roselin,故将数据库的数据迁移到服务器时,也要创建同样的用户roselin 用于后端连接数据库.

后端连接数据库部分代码:

......
datasource:type: com.alibaba.druid.pool.DruidDataSourcedruid:#    MySQL配置url: jdbc:mysql://localhost:3306/zssy_ydpd_dev?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowMultiQueries=true&allowPublicKeyRetrieval=trueusername: roselinpassword: roselin......
  1. 点击菜单栏中的 “用户” ,然后再点击下面的 “新建用户” :

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UXzSvC5n-1608275117618)(部署img/部署58.png)]

  2. 在 “常规”栏中填入相关信息,用户名和密码可以自定义,主机名根据需要填写:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uRiFs3tR-1608275117619)(部署img/部署59.png)]

  3. 在 “服务器权限”栏中勾选该新用户可以拥有的权限:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MSgBh6W2-1608275117620)(部署img/部署60.png)]

  4. 在 ”权限“栏中点击 ”添加权限“,在弹出的 ”添加权限“的对话框中先在左侧选择要授权于新用户的数据库,并勾选右侧其可以拥有的操作权限,然后勾选好后点击下面的 ”确认“按钮:(可以添加多个数据库权限)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KZF0X5xH-1608275117621)(部署img/部署61.png)]

  5. 最后点击左上角的保存即可:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AzExwXAU-1608275117621)(部署img/部署62.png)]

  6. 查看:点击菜单栏中的 ”用户“ 即可查看到刚刚新创建的用户

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lu6K4Cds-1608275117622)(部署img/部署63.png)]

6. 使用 公网IP/域名 访问

nginx 和 Tomcat 都要启动,然后在浏览器的地址栏输入 公网IP+:端口号域名 直接访问。

切记:若要随时都能访问该项目,nginx 和 Tomcat 要一直处于运行状态,不能关闭服务器。

7. 将页面挂在到微信公众号上

因为只是做个项目部署着玩,所以关于微信公众号部分只涉及到测试号,正式的微信公众号还未挂载过项目页面.

7.1 测试号申请

官方申请微信公众号测试号的地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V1YRRVD4-1608600080280)(部署img/部署72.png)]

登录成功后就可以获取到测试号的信息:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-szejJweT-1608600080287)(部署img/部署73.png)]

7.2 设置外网域名

1.配置接口配置信息

在页面找到接口配置信息那一栏:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jQ1UUGAU-1608600080291)(部署img/部署75.png)]

  • URL:通过IIS发布消息接口(接口编写方式如下),并把接口地址填入URL中。必须以 http://https:// 开头,分别支持80端口和443端口,最好就是使用 域名,不要使用公网IP(例如:https://xxxxxx.ngrok.io/api/ydpd/app/wxBind);

    使用 ngrok 将内网映射成外网可以访问的域名,参考第二部分的软件安装的第2.7节

    具体后端接口代码如下,接口地址例子:https://xxxxxx.ngrok.io/api/ydpd/app/wxBind,app是Controller,wxBind是Action。

    /*** APP微信相关*/
    @RestController
    @RequestMapping("/app")
    @Api(tags = "APP微信相关接口")
    public class AppWxController {....../*** 微信认证*/@RequestMapping("wxBind")@ApiOperation(value = "认证微信", notes = "认证微信")public String wxBind(@ApiParam(value = "signature", required = true) @RequestParam(name = "signature", required = true) String signature,@ApiParam(value = "timestamp", required = true) @RequestParam(name = "timestamp", required = true) String timestamp,@ApiParam(value = "nonce", required = true) @RequestParam(name = "nonce", required = true) String nonce,@ApiParam(value = "echostr", required = true) @RequestParam(name = "echostr", required = false) String echostr) {System.out.println("result"+wxMpService.checkSignature(timestamp, nonce, signature));return wxMpService.checkSignature(timestamp, nonce, signature) ?  echostr: signature;}......
    }
    
  • Token:可随意填写,但是必须和接口所传的Token值保持一致

    后端关于微信接口的配置代码:

    wx:mp:appid: wx********   # 要和测试号给的 appID、appsecret 和 token 信息一致secret: 8****c7a*****ec3b450***4bd7token: wxappaesKey:
    

2.配置JS接口安全域名

在页面找到JS接口安全域名那一栏:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VDntCNZF-1608600080295)(部署img/部署76.png)]

JS接口安全域名:用于项目对微信接口进行API接口请求(可以是 域名,也可以是 IP+端口号,但不需要填写http或https)

为了防止在项目中调用微信接口时出现 config:invalid url domain 的问题,JS接口安全域名要与项目页面请求路径域名一致;

比如,项目发起的请求是 http://xxx.xxx.xx/api/ydpd/app/wxSign,则JS接口安全域名就要填入:xxx.xxx.xx

3. 体验接口权限表配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1pUqB06M-1608600080298)(部署img/部署77.png)]

注意:不要填 http或https,直接填写域名 或 IP:端口号

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MlNPk8ca-1608600080300)(部署img/部署78.png)]

7.3 自定义公众号上的菜单栏

官网微信开放文档:https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Creating_Custom-Defined_Menu.html

  • 微信公众平台技术文档–>自定义菜单,在该页面底部,可以发现有“使用网页调试工具调试该接口”,可以使用它进行创建菜单

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4FlIhECu-1608600080301)(部署img/部署79.png)]

  • 先通过 appid 和 secret 获取 access_token(如下图),appid 和 secret 在测试号管理的测试号信息栏里可以查看到:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hYojolgZ-1608600080303)(部署img/部署80.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JxftW2mL-1608600080304)(部署img/部署81.png)]

  • 获取到 access_token 后,在接口类型中选择 “自定义菜单”,把获取到的 access_token 和 菜单脚本 【可参考微信公众平台技术文档中的自定义菜单中的脚本格式】填写到参数列表中。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lGlwUdxC-1608600080305)(部署img/部署82.png)]

  • 然后打开关注的测试微信公众号,就可以在公众号的菜单栏中看到 “中三移动盘点” 这个模块。

7.3 访问

在页面找到测试号二维码那一栏,然后使用微信扫描二维码关注该测试公众号,关注后即可在该测试号上查看自己的项目。关注成功后,稍等一会就会显示出用户列表。如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OWv0UtOk-1608600080306)(部署img/部署74.png)]

以上内容是自己整理总结的,若有不对的地方,欢迎大家指出,一起学习交流。

第一篇:前后端分别部署教程 ---- 第一部分服务器
第二篇:前后端分别部署教程 ---- 第二部分相关软件安装


http://chatgpt.dhexx.cn/article/33pHaKf1.shtml

相关文章

springboot+h5页面+微信公众号获取微信用户信息

springboot项目,h5页面通过微信公众号获取微信用户信息 最近本人有一个项目需求,微信公众号里点击一个菜单进入一个商城购物系统。 对于在微信公众号还是小白的我来说难度有点大,但是做完后发现也就这样,用多了就熟悉了。下面记录…

【公众号】微信进入公众号链接自动获取授权登陆

文章目录 前言一、准备二、开发2.1 搭建项目2.2 WeixinUtil 工具2.3 回调接口与登陆接口2.4 过滤器自动登陆2.4 其他类2.5 测试 三、总结 前言 最近项目上有一个需求,用户反映每次从微信打开链接都需要手动登陆,比较繁琐,想点开微信连接后自…

java向微信公众号---发送模板和图文消息

微信公众号初次开发 其他操作 项目搭建mavenapplication.ymlyml参数配置微信客户端配置 搭建完成 实现业务模板消息推送准备工作模板消息填写要求图文消息填写要求 推送模板消息推送模板消息结果——效果 推送图文消息推送图文消息工具类问题和结果 获取关注的用户openId既然有…

微信公众号接入天行机器人案例和方法

首先使用的是天行机器人: 1、接入基本原理: https://www.tianapi.com/apiview/47 申请完成后的结果如下 调用对应的接口的参数如下: http://api.tianapi.com/txapi/robot/index?keyae5e9a72c8d4cb1f5e096f7bb4daf1f3&questionrobot…

微信公众号的端口映射及服务开发

一. 开发准备 微信公众号申请---->实名认证---->服务器开发---->绑定服务器 PS: 这里有一点需要注意的就是, 微信开发必须是80端口或者443端口, 如果我们有云服务器主机一切都好办. 但是如果没有我们还有几个备选方案: 1. 花生壳 , net123 : 这两个都需要实名认证(…

[JAVA实现]微信公众号网页授权登录,java开发面试笔试题

我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。 扫描二维码或搜索下图红色VX号,加VX好友,拉你进【程序员面试学习交流群】免费领取。也欢迎各位一起在群里探讨技术。 推荐文章:Java 面试知识点解析;Mysql优化技巧…

后端操作微信公众号

一、功能说明 员工端使用微信公众号完成审批操作,涉及到的功能包含:自定义菜单、授权登录、消息 1、微信公众号一级菜单为:审批列表、审批中心、我的 2、员工关注公众号,员工第一次登录微信公众号,通过微信授权登录进行…

Java基于微信公众号接口实现授权登录源码及原理分析

微信公众号授权登录操作前提必须注册微信公众平台账号,注意的是订阅号不支持授权登录操作,因此对于个人开发者注册的订阅号是无法实现的,必须注册企业号的微信平台账号而具体注册流程就不详细介绍了,有什么疑问可去微信公众号平台…

微信公众号多域名回调系统1.0发布

这是一款基于ThinkPHP6.0框架的微信公众号多域名回调系统。 微信公众号后台默认只能授权2个网页域名,用本系统可突破这个限制,用同一个公众号对接无限多个网站。网站后台支持回调域名白名单的管理,以及登录记录的查看。 本系统还有微信access…

PHP微信扫码关注公众号并授权登录源码

PHP微信扫码登录看起来简单,但做起来有点麻烦,开发起来就会浪费很多的时间。 PHP判断是否首次关注公众号,扫码关注公众号获取微信用户头像、openid和省市等信息源码。 演示体验地址: https://www.skpan.cn/user/login.html 网盘下载地址:…

2023最新微信公众号无限回调系统源码/已修复BUG亲测可用

正文: 测试环境: Nginx 1.20.2 MySQL 5.6.50 PHP-7.2 1.创建站点 2.到根目录上传源码 3.创建数据库并导入 4.修改数据库信息 根目录/config.php 第5,6,7行 5.后台地址域名/admin 账号admin 密码123456 6.修改域名 根目录下 api.php 第…

Java微信公众号开发登录

MySQL基础开发篇 这部分的内容应该更合适那些刚入坑的朋友们或者是对于基础部分掌握不牢固的朋友,因此有一定经验的或者基础不错的可以自动跳至下一章内容阅读,这部分我仅把目录内容截图展示。 MySQL的优化以及管理维护 MySQL作为一款关系型数据库,SQL语句的优化是尤其重要的…

mysql 推送微信公众号_10分钟完成微信公众号第三方平台全网发布

背景:在微信公众平台配置服务器URL时,使用了新浪云SAE自带的二级域名,提交时出现一个安全风险的警告,网上查了下,许多服务平台和团队也遇到同样的问题。 经过一番研究 … 为什么会有安全风险的警告? 微信公…

springboot微信公众号管理系统vue内容文章文件上传jsp源码mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当做编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 这是一个基于springbootvue的微信公众号管理系统 二…

微信公众号迁移,需要做些什么

❤️ 个人主页:水滴技术 🚀 支持水滴:点赞👍 收藏⭐ 留言💬 🌸 订阅专栏:微信公众平台 文章目录 一、开通开发者二、设置IP白名单三、自定义菜单四、认证五、网页授权域名六、模板消息七、转换…

PHP微信公众号网页授权登录 扫码登录 获取用户基本信息

前言 现在微信登录是一个网站、APP的标配,所以微信授权登录是我们应该要掌握的。微信授权登录有4种方式: 1、通过微信开放平台2、通过认证的微信服务号3、通过认证的微信订阅号4、通过微信小程序曲线救国 今天我们就讲解的是微信服务号,通…

微信公众号多域名回调系统

介绍: 这是一款基于ThinkPHP6.0框架的微信公众号多域名回调系统。 微信公众号后台默认只能授权2个网页域名,用本系统可突破这个限制,用同一个公众号对接无限多个网站。网站后台支持回调域名白名单的管理,以及登录记录的查看。 本…

微信公众号授权获取用户信息及jwt登录

Java 微信公众号授权获取用户信息及jwt登录 !!! 前言 前几篇文章小编分享过: 微信小程序授权获取用户手机号 jwt登录 (含源码)微信小程序支付 公众号支付 (含源码) 工作之余,分享下 “ 微信公众号授权 获取用户信…

手把手教程用Java实现微信公众号扫码登录功能

文章目录 前言一、环境准备二、使用步骤1. 使用微信工具包2. 创建数据表3. 登录页面代码逻辑4. 验证微信公众号登录 总结 前言 微信现今是我们必不可少的社交工具了,围绕微信这个生态实际上有很多东西可以做,我们经常会看到一些网站通过微信扫码进如公众…

[一维前缀和]leetcode303:区域和检索 - 数组不可变(easy)

题目&#xff1a; 题解&#xff1a; 一维前缀和&#xff0c;元素数组[0,j]的前缀和对应prefix[j1] 代码如下&#xff1a; class NumArray { private:vector<int> prefix; public://题解&#xff1a;一维前缀和NumArray(vector<int>& nums) {int nnums.size()…