微信小程序> 三周学会小程序第三讲服务端搭建和部署-小程序服务器部署-微信小程序如何部署

三周学会小程序第三讲服务端搭建和部署-小程序服务器部署-微信小程序如何部署

浏览量:2098 时间: 来源:weixin_34268753
1.

通过第二讲我们已经知道了怎么快速搭建一个小程序客户端,当然服务端也是必不可少的。登录验证,内容存储等等都离不开服务端。本章节主要讲解怎么快速搭建一个服务端框架和免费部署。因为好多同学仅仅为了学习小程序,为此购买一个服务器成本还是蛮高的,所以小编特此找了一种免费的服务资源提供给大家,等到你真正要部署小程序的时候再购买也不迟。(第一讲《小程序注册和注意事项》里面已经说了,部署小程序必须需要购买服务器和域名,并且需要备案)。

代码准备2.

和上一讲《客户端代码准备和基础功能讲解》一样,我们先克隆小编为大家准备的源码库,然后对源码进行讲解。源码库地址:https://github.com/codedrinke...本讲的Tag为V3。

工具准备3.

JDK1.8或更高版本IDEA,如果有条件尽量用付费版本,一些扩展的工具后面可能用到,比如Database。Maven,这个是比较基础的工具了。

运行项目4.

下载项目成功以后,打开IDEA,使用Maven方式导入项目,一直下一步即可。导入完成以后等待Maven下载依赖,下载依赖完成以后直接找到Application.java类右键运营即可启动服务。地址栏访问http://localhost:8888即可看到我们的欢迎页面。是不是使用SpringBoot运营项目非常简单?再也不用磨磨唧唧配置Tomcat了。

项目结构5.

如图,

6.

一个非常标准的SpringBoot项目目录,不了解SpringBoot可以直接去官网看一下初步理解就可以,你可以把SpringBoot简单的看做让你方便的通过一个类就能运行项目的方式,具体细节等你熟练使用以后自然会明白。http://spring.io/projects/spring-bootApplication.java,项目的启动类,直接右键运行即可,当然可以使用java命令启动,如java-jar-Dspring.profiles.activeproductiontarget/jiuask-server-1.0.0.jar

7.

resources/public,是web项目的静态资源,比如js,css,img等都存放到这里,Spring默认会把public配置为根目录,所有使用的时候直接logo.jpg即可。

8.

templates,是存放Spring的web模板,类比的话就是我们熟知的jsp页面,这里用的thymeleaf模板语言,更强大,现在你理解它就是HTML里面有很多占位符,可以赋值即可。

9.

application-*.yml,这个是替代了我们之前使用的application.properties,因为yml的语法更强大,同时application.yml是默认配置,所以你直接运行Application.java文件会启动8888端口就是因为里面配置的是port:${port:8888}。

10.

applicationContext.xml,便使我们熟知的Spring的配置文件,后面有什么需要来这里配置就好了。咦?没有web.xml文件Spring是怎么知道这个文件的呢?那因为我在Application.java文件中添加了一个注解:@ImportResource({"classpath*:applicationContext.xml"})

11.

pom.xml,就不用细说了,如果你不了解Maven那么你需要百度几个文章了解下。还剩下几个文件,不要着急,我们后面会讲到。

代码讲解12.

为了让初步接触SpringBoot的同学更好的理解项目,小编这里简单的对项目的代码进行讲解。首先从Application.java开始:@SpringBootApplication表示这个类是Spring项目的启动类。@Controller表示把当前类定义为一个Controller。@ComponentScan表示Spring加载Bean的方式是扫描目录,不需要每次都通过xml配置。@RequestMapping("/")则是定义访问路径和方法的映射。return"index";表示返回templates/index.html这个模板。

13.

好,既然说到了模板,我们就简单说一下模板里面的逻辑。如图:

14.

我做了一个简单的封装,为了避免写重复的代码,我把头部和底部封装到了layout.html在index.html和error.html直接引用这个布局,替换它的body。所以你这个时候在8888/后面随便输入内容访问的便是error页面,头部和底部都是源自于layout.html。

15.

这样一来你就掌握了项目和本地部署的技能,那么微信小程序需要访问远端的地址才能工作,怎么部署到远端呢?

免费部署16.

小编讲解的免费部署的方式是使用Heroku,免费必定有限制,比如15分钟不访问会自动宕机,下次访问会自动启动,每个账号有550个小时的免费使用时长,不过虽然有这些限制,对于我们做测试使用已经足够了,而且它还会提供一个**.herokuapp.com的域名,正好给我们使用。

17.

话不多说,我们开始准备环境,首先你需要去Heroku官网注册一个账号,国外的网站访问有点慢,自行解决。https://id.heroku.com/login不过有一个非常不好的消息,Heroku不支持126邮箱,不过你不需要注册多个,所以小编使用的自己的QQ邮箱。全部填写完信息以后,点击CreateFreeAccount。然后去邮箱验证,设置密码即可。

18.

下面我们需要创建一个app,可以简单理解为创建一个服务器,可以用于部署我们的代码。

19.

按照如图步骤填写名称,找到一个不被占用的英文,然后点击create。我填写的是jiuask,这样我就会得到一个免费的域名jiuask.herokuapp.com。这样我们就拥有一个免费的服务器了,是不是很简单?那接下来我们部署服务吧?

20.

其实自动跳转的页面有提示,如果你英文好,直接按照提示来也可以,大致的步骤如下:1,打开你的终端,进入刚才准备好的项目目录。2,运行herokulogin命令,会提示你输入用户名和密码,刚才你注册的邮箱和密码。3,输入如下命令,当然后面的jiuask应该是你的名称:herokugit:remote-ajiuask这个步骤就是在添加一个Heroku的Git仓库,当你提交代码到Heroku的Git残酷的时候会自动部署。4,运行如下命名部署:gitpushherokumaster5,等待命令行命令结束,浏览器输入如下网址看下效果,记住把jiuask换成你自己的名字:jiuask.herokuapp.com是不是出现了神奇的一幕?这样你就拥有一个自己免费的服务器了,以后怎么部署呢?每次commit代码以后,运行4步骤的部署就可以更新成功了。

21.

别着急激动,我们还是简单说一下为什么能部署成功:1,小编的pom.xml里面配置项目名称是jiuask-server所以编译打包以后会有一个jiuask-server-1.0.0.jar的jar包。2,Heroku会默认识别Procfile文件里面的命令作为部署命令:web:java-jar-Dspring.profiles.activeproductiontarget/jiuask-server-1.0.0.jar

22.

所以每当我运行部署的时候,Heroku帮我们执行了一下Procfile文件,所以如果你的没有部署成功,仔细检查一下自己的配置是否正确。这样今天的讲解就进入了尾声,是不是小程序的服务器不用愁了?如果觉得有用记得给小编点小骨头哦。[:)阴险脸]

作业23.

好,下面是作业时间,看懂了,马上就自己动起手来。1,不知道你是否注意观察,通过浏览器打开的时候Tab上面有一个“久问”的logo,你现在需要把他换成你的logo。2,修改Controller里面的index方式,使得访问http://localhost:8888/?userjiuask跳转index页面。user等于其他情况均跳转error页面并显示登**用户登录失败。3,新添加一个地址http://localhost:8888/api/login访问是,返回JSON内容,{'success':true}。4,修改项目名称,包括pom.xml,package,Procfile和Readme。5,使用Heroku创建自己的账号,并部署成功。如果你做好了,可以发到群里向小伙伴儿炫耀一下哦。[:)鬼脸]

24.

6,使用Heroku命令查看一下最新的日志。小编提示:herokuhelp命令是一个百科全书哦。

问答25.

如果您对本系列文章有兴趣,欢迎置顶本订阅号,第一时间获取更新。如果有任何问题,欢迎加入下方交流群。请添加小编微信,切记备注“小程序”,小编拉你进去。【只讨论技术,非诚勿扰】

关注26.

小编运营的订阅号“码匠笔记”,就先后就职于ThoughtWorks、阿里巴巴等互联网公司的经验分享,包含但不限于JAVA、并发编程、性能优化、架构设计、小程序、开源软件等。有兴趣可以关注一波,一起学习、讨论。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎