【学生学习记录向】阿里云服务器Windows+宝塔+javaWeb项目+微信小程序项目部署实战

目录

一、环境

二、准备服务器

三、安装宝塔、宝塔软件准备

 四、数据库的使用(备注)

五、域名备案、解析、绑定

六、宝塔部署java项目(2021年Windows面板)

七、SSL证书部署与微信小程序域名访问

八、后记


一、环境

        1、java项目开发环境:IDEA

        2、前端:微信开发者工具

        3、阿里云服务器系统:Windows

        4、宝塔面板:Windows

二、准备服务器

        在阿里云购买一年的轻量级服务器

        因为是学生,应老师要求做项目而买的,轻量级合适,而且比其他的便宜。

        注意的是,如果

        微信小程序要正式上线,那么上线版本必须要求访问地址域名合法,也就是Https请求能访问到,所以需要购买域名、备案然后申请SSL证书。而域名备案所需服务器不能是按需购买,并且需要拥有一年以上使用权的服务器。

三、安装宝塔、宝塔软件准备

        在阿里云的【控制台】-【远程连接】

        连接登陆Windows服务器之后,就查找宝塔,然后下载Window版本安装就好了。操作与平时使用Windows系统查找安装软件差不多,网上也可以查到很多的安装宝塔资料。在此就不重复了。

        宝塔软件准备

        在软件商店里下载软件

 四、数据库的使用(备注)

        题记:这是我为了防止我自己忘记所写的注意事项,并不涉及整个过程

        开放端口

        注意要在供应商提供的服务器面板上添加安全组规则。数据库端口3306,当初本地测试运行总是连接不上数据库,搞得人很疲惫,才发现是数据库的端口没有开放。因为我以为在宝塔面板开放了就开放了,结果服务器根本没有开放。

        URL(JDBC)

jdbc:mysql://120.xx.xx.xx:3306/databaseName?serverTimezone=Asia/Shanghai
备注
名称备注
120.xx.xx.xx运行数据库的服务器主机IP
databaseName数据库名称
user用户名
password数据库密码

         不是用Root用户名,以及Root密码

五、域名备案、解析、绑定

       域名备案

        我的情况是因为初学者,所以弄得一团糟。原本是买了华为云的按需购买服务器,然后又买了域名,备案的时候才发现,这种服务器是无法备案的,所以后面更换了更便宜的阿里云轻量级服务器。所以这里我提供的方案是这种情况:服务器与域名不是所属同一方平台的情况。

       我在阿里云完成的备案

        因为服务器在阿里买的,所以在阿里备案的话,服务器可以默认,好找。但是如果在华为云那备案的话,写服务器这一步应该比较麻烦。(过程已经记不清了)根据官方提供的文档,填写完信息后,就等待电话、短信通知,阐述自己备案情况,网站啥用途之类的,教育方面的话一般都会放行的。

       域名解析

        在哪里买的域名就在哪里做解析。我是回到华为云那做的解析。

        根据官方文档,普遍有一键帮助解析那种服务,查询文档然后照着步骤做就行。

        华为云域名解析文档:配置网站解析(华为云注册域名)_云解析服务 DNS_快速入门_华为云 (huaweicloud.com)

        域名绑定

        登陆阿里云服务器。【站点设置】-【域名】-【添加域名】就好。

        剩余步骤可查阅官方提供的操作文档。

六、宝塔部署java项目(2021年Windows面板)

        点进JAVA项目管理器2.0

                ( PS:因为是先做再写博客,所以已有相关信息)

        点击【添加项目】

 

       


         项目域名:填写你所购买的域名

         项目目录:我选择其自动帮我在wwwroot目录下生成网站目录作为网站的根目录

         项目版本:根据项目选择使用tomcat版本,目前只能选7、8、9,我选择9

         项目类型:在服务器需要运行多个项目之时,使用独立环境可以将项目独立运行,不至于项目与项目之间端口打架(我的理解),会更方便。这里我使用官方推荐的独立环境。

       


         提交之后,在BfSoft(Windows面板下软件文件存储的目录)目录找到你选择的项目运行的Tomcat版本文件夹,然后找到webapps下上传war包,并解压缩(可手动解压)。

        此时,在微信开发者工具中,访问的URL:

       (未备案,域名不可用)http://120.xx.xx.xx:8083/ZZZZ

       (域名已解析,未部署SSL证书)http://www.xxx.cn:8083/ZZZZ

        已可访问。

备注
名称备注
120.xx.xx.xx所购买服务器的主机IP地址
8083Tomcat9运行端口
ZZZZ我的项目名称
www.xxx.cn所买的域名

         注:如果进行此步,以上URL还是访问fail,请检查端口是否放行。宝塔面板显示的放行端口都是虚假的!!都是虚假的!!!都是虚假的!!!(重要的事情说三遍,血泪教训)在宝塔面板上放行的端口,可能你的服务器上并没有对应增添安全组规则,一定要进入你所买服务器的供应商提供的面板里,去添加安全组规则放行端口才行。

七、SSL证书部署与微信小程序域名访问

        因为是学生,我申请的是DV版免费的SSL证书,在阿里云平台申请的。

        也可以在宝塔界面申请界面申请免费版证书

        不过我自己没有尝试。回到例子:

        点击下载后,选择下载Nginx证书(因为我是用Nginx,如果是Apache请下载Apache)

        在宝塔面板下,点入【网站】-【设置】-【SSL】-【其他证书】

        按照官方提示,左边复制粘贴*.key内容,右边复制粘贴*.pem内容。然后确定保存。我是开启了强制HTTPS,保存之后其实就帮做了SSL部署操作。

         你以为这就结束了?就部署完了?不,接下来折腾了我好几个小时(我是菜鸟),在网上搜了我能搜到的所有文档,都无法解决我在微信开发者工具访问

        https://www.xxxx.cn:8083/ZZZZ 

       https://www.xxxx.cn/ZZZZ 

        error:502 Bad Gate

        (这里可能只有我一个人碰到这种情况,所以我这里把我的错误信息与解决方案记录一下,不一定普适化,但是遇到类似问题可以提供一个解决参考)

        解决方案

        首先,检查端口是否放行

        出现502这种,即等待许久都没办法访问的现象,有几个方面的原因(排查方法网上搜可以搜几条),但是最值得首先排查(我认为)的就是,检查端口是否放行!

        出现这种情况是因为,我在宝塔面板放行了8229端口(我的项目独立运行端口)

         但是我没有检查我服务器上是否真的放行了。后来我登陆阿里控制台,上了服务器面板,检查安全准则的时候,才发现根本没有同步放行过来,然后我赶紧放行了我的项目端口(注意一下,8083Tomcat运行端口放行,但是独立环境项目的运行端口也得放行),然后再访问 https://www.xxxx.cn/ZZZZ 就不会502了。

        接下来,我以为502的问题解决了,我终于可以结束我长达几个小时的排错之旅了,没想到,编译后出现新的错,404!!!

        离谱的是我的情况是这样的:

             域名完成了解析,SSL证书成功部署,在浏览器上输入

https://www.xxxx.cn/ZZZZ

              能成功访问到Hello界面,但是https://www.xxxx.cn/ZZZZ/login无法访问!404!

        也就是说,我无法请求到资源。我也纳闷,百思不得其解。为什么网页可以访问,但是项目文件访问不了?当然我只能模模糊糊的感觉,Servlet运行得搭配Tomcat。

        然后我继续搜解决方案啊,想着有没有人经历过这些,提供一点帮助,结果就是,问题是自己的,真的没有任何能成功参考的解决方案!甚至有位兄弟,他也是这个错误,但是他的解决方案是数据库版本不够高,升高后解决了……我本来立刻想尝试的,但是一想,我http+域名+端口号的形式都能访问到内容,数据库肯定没问题,如果真是数据库版本的问题,那应该都会一视同仁,这个URL铁定也不行,所以我还是打消了这个念头。

        最后我又虚搞了一段时间,包括去更改Tomcat配置,重设docBase等文件访问路径等,都没办法解决访问资源404的问题。某一刻,脑瓜子一闪光,忽然想起了一个解决方法。

         检查宝塔面板网站当中的反向代理

        

        点击编辑,查看目标URL ,检查后面的端口号,如果是8229这种你项目运行的独立端口号。改!改成你使用的Tomcat的端口号,我的是8083。

         然后微信开发者工具那一边

 https://www.xxxx.cn/ZZZZ/YY

         就能成功请求到资源了。

        也就是说,我之前的Tomcat一直没法获取得到域名。(我随便乱理解的,没法文字官方解释)

        问题解决了!舒畅!

        微信小程序上线版本,在本机调试过程中,关闭不校验合法域名选项,然后再编译。此时会提示你不是合格域名啥的(我记忆不是很清晰了),然后根据官方文档指示,要登陆微信公众平台,在开发管理-开发设置里设置服务器域名

        然后在开发者工具编译就能访问了。(注意取消不校验合法域名,否则不知道真机检验)

       其他问题

       Q:微信开发者工具编译能请求到数据(URL是https请求,SSL证书被验证为A级可靠并且部署,调试工具取消不校验合法域名能通过),但是真机演示的时候请求不到数据(包括体验版二维码、预览)

        A:在手机端下拉微信小程序,把旧版本的体验小程序全都删掉,然后再扫码进入,就可以请求到数据了。

八、Web网页与微信小程序后台同时部署

        上面所写的是部署微信小程序后台的过程。

        如何只有一个域名,如何让微信小程序后台与对应的管理员控制Web网页同时部署?

        我在这个探索过程中,尝试过把Windows操作系统换成CentOS系统,然后重装宝塔面板进行部署。但是当我把两个后台java项目都放在Tomcat的webapps目录下的时候,网页端访问页面加载错误,类似于网络环境差只加载了文字,图片无法加载的情况,组件也无法正常使用。我尝试了很多路子,包括一键部署javaWeb项目、直接下载Tomcat,然后新建网站点击开启Tomcat、java项目管理器等,都无法解决这个问题。我也下载过不同版本的Tomcat,都没办法正常运行。于是我换回了我熟悉的Windows系统面板。

        Windows系统面板实现同一个域名下Web网页与微信小程序后台同时部署很简单,按照我上文所操作的内容部署完微信小程序后台后。

        将web项目打包的war上传到Tomcat的webapps目录下(与后台war目录是同一目录),解压缩就完成部署。注意:web项目的名字与后台项目的名字不能相同。

        然后访问https://www.wodeyuming.cn/WEB可以成功访问,加载正常。

备注
名称说明
www.wodeyuming.cnweb项目所在的网站域名
WEBweb项目的名字

九、后记

        因为我记忆力很差劲,很多事情虽然是我自己做的,但是长时间不接触,我渐渐就会把这些技能忘记,所以学会用文字记录的方式把自己的经历记录下来。下一次再做的时候也有了章程。过程中产生了很多的错误,时间也拉得很长,我也记不清了,所以先把我记得住的过程先写下。中间都是小白的发言,提供参考,意会便可。如有错误,欢迎指正。

        如果其中有的点能帮助到你,希望你能不嫌麻烦帮忙点个赞~

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值