微信小程序之PHP服务器搭建
在去年的时候,参加过学校的一个创业活动,在团队决定做一个关于图书的微信小程序以后,我负责做微信小程序的后台程序,因为初次接触,决定选用较为简单的PHP作为后台语言,实现了微信小程序的一些基本功能,例如对微信前段来的图片文字进行存储,或者接收到前端传来的关键字对服务器里的数据进行查询并返回前端,利用前端传来图书的ISBN码调用第三方豆瓣图书接口进行图书信息查询,最后还有比较难实现的微信支付功能,在这之前走了许多弯路,都是一步一步探索,在这里,将自己曾经的一些写下来,希望能帮助到大家。
微信小程序的进入门槛是相当高的,首先要进行微信小程序开发必须要有一个微信公众号:
![](/assets/blank.gif)
这个一般人还是比较难申请的,此外微信小程序对服务器要求是非常高的,首先无法像做Android程序开发时自己用自己笔记本装个Linux再装个apache及其它程序就可以实现演示,它必须要求服务器要有公网域名,并且使用https而不是http,针对这个要求我将来一步一步讲我的服务器架设过程。
首先对于公网ip我们可以直接购买大公司的云服务器,这里强烈推荐阿里云的服务器,阿里在这一块布局很大,投入也很多,因此我选择的是阿里云的服务器,利用学生优惠,可以使服务器租金降到10元左右一个月,购买好服务器以后,便有了公网IP,在云服务控制台是可以看到的,在购买好云服务器以后,紧接着需要配PHP开发环境,这里推荐在阿里云云市场直接购买(好多是免费的)安装,镜像市场地址如下:https://market.aliyun.com/?spm=5176.730005.584769.1.Uvgnef
我当时用的是中电云集镜像,搜索框搜索(云集PHP运行环境(CentOS7.2|Apache|PHP5.5)),安装好以后,按理说我们直接在浏览器访问我们服务器的IP地址,是会出现默认的index.php页面的,但是居然没有。。。一直显示访问不了,这是一个大坑,注意了!当时为这个问题排查了好久,云服务器防火墙什么设置什么都鼓捣了好一阵子,可是就是连不上!!!找了大概有一两天的原因,最终找到了!!!请往下看! :
1.1 云服务器控制台开放端口
原因在于阿里云云端是默认关闭所有端口的,因此需要在云端控制台放行22端口,这样才能顺利使用,过程如下:
1. 进入安全组规则界面
2. 点击右方蓝字配置规则,进入如下界面
3. 点击右上角添加安全规则,进入如下界面
按照自己需要的端口输入相应数据即可,点击确定,然后服务器便可以正常访问。这里我强烈要吐槽一下阿里,这得给开发者一个提示啊,像我这样新手之前没用过为了找这个原因,找了好久,这本不应该发生的,阿里云应该给新手提示。
1.2域名申请及备案
1.登录备案系统,按要求填写备案信息,并提交至备案初审。
该操作中需要上传电子版证件资料:个人备案请提前准备好个人证件扫描件或照片,例如身份证、护照等;企业备案请提前准备好企业证件及负责人证件扫描件或照片,例如营业执照、组织机构代码证等。
2.收到初审结果,按要求办理拍照。
3.等待管局审核结果
具体备案流程如下:
1.登录备案系统,填写备案的域名及主体证件信息,系统核实域名及主体证件号码未存在已备案记录,判断此次备案为首次备案
2. 填写产品信息验证,不同的产品验证方式也不同。
3.填写网站信息,如有多个网站提交申请,在填写完网站信息可单击 保存,并继续添加网站
4. 如无其他网站备案,直接上传备案资料
5. 审核期间一般会有工作人员给你打电话,问你关于服务器将用来做什么的对话,注意一定要尽力避免说论坛之类多人在线交流的软件(你懂得),因此在会联系您在备案信息中留下的联系电话,因此请保持电话畅通。
6.提交备案至初审。
7.初审通过后,登录备案系统申请幕布,收到幕布后自行拍照并上传照片审核(拍照前请先查看拍照说明,并避免身着红色或蓝色上衣进行拍照)
9. 提交照片,完成审核。
10. 等待管局操作,这一步大概需要等上不到一周吧,效率还是挺高的,点个赞。
11. 最终一切不出意外的话,就会备案成功!!(这里为了隐私。。隐去我的名字。。。)
微信小程序开发对安全性要求非常高,因此是不能用http协议与服务器交互信息的,得使用安全性更高的https进行交互,接下来我将配置https步骤记录下来:
1. 安装mod_sll
我们通过在线安装方式 sudoyum install mod_sll,之后一路选择y即yes即可安装完毕。
2. 配置mod_sll
(1) 建立服务器密钥
cd /etc/pki/tls/certs/←进入HTTP服务器配置文件所在目录 make server.key←建立服务器密钥 |
接下来会要求输入口令,及确认口令,按照提示输入即可
(2) 建立服务器公钥
make server.csr←建立服务器密钥 |
接下来会要求输入很多信息,按照提示输入即可:如下图
输入完毕后,进行下一步
(3) 建立服务器证书,命令如下
openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 365 ← 建立服务器证书 chmod 400 server.* ← 修改权限为400 |
(4) 设置ssl文件
vi /etc/httpd/conf.d/ssl.conf←修改SSL的设置文件 #DocumentRoot "/var/www/html"←找到这一行,将行首的“#”去掉↓ DocumentRoot "/var/www/html"←变为此状态 |
(5)重新启动HTTP服务,让SSL生效
/etc/rc.d/init.d/httpd restart ←重新启动HTTP服务器 |
3. 这时服务器能通过https进行访问,但是,在浏览器访问时https是红色的,如下图所示:
这是因为。。没有给服务器装安全证书,接下来我们还是到阿里云服务器管理控制台,有一个证书服务:
![](/assets/blank.gif)
点进去
右上角有一个购买证书,点进去,如下图所示:
为了省钱购买了最便宜的免费证书,但是支持的项目较少,但是完全够开发使用然后点击立即购买,按照提示一步步走,最终获得证书,如下图所示:
然后在证书详情右侧区域,添加自己的网站域名,点击下一步
填写相关信息:
最后一步 按要求上传相关信息即可安装好认证证书,再次访问服务器时就会发现服务器那把安全的小绿锁了:
至此,微信小程序开发时完成的服务器配置任务彻底完成。可以尽情的开发啦!对了要在微信公众平台的小程序开发设置里面加入域名及php文件路径哦!
微信小程序之PHP服务器搭建相关推荐
- 微信小程序 阿里云服务器 非物联网平台自建MQTT代理服务器控制树莓派LED
微信小程序 阿里云服务器 非物联网平台自建MQTT代理服务器控制树莓派LED 本人大三,临近毕业季,日后希望从事物联网和嵌入式相关工作,所以自己构想了一个项目来练手,之前做大创的时候学了一点微信小程序 ...
- 微信小程序后台服务怎么搭建
小程序是目前最大的流量风口,与APP不同的是小程序的便捷,也就是小程序的核心竞争力与理念,不过小程序和APP的相同点都是属于应用,因此需要后台服务的支持,微信小程序的后台搭建常用到腾讯云,包括云数据库 ...
- 云开发喝酒神器2.0微信小程序源码 附搭建教程【源码好优多】
简介 云开发喝酒神器2.0微信小程序源码 附搭建教程 微信小程序云开发喝酒神器2.0微信小程序源码(带流量主),云开发小程序无法服务器即可搭建,配置有安装文档教程. 下方资源地址 云开发喝酒神器2.0 ...
- 2021抖音爆火最新版人生重开模拟器微信小程序源码+前端+搭建教程
人生重开模拟器微信小程序源码 简介: 无需服务器.域名等工具 编辑好上传代码即可使用 下载地址:2021抖音爆火最新版人生重开模拟器微信小程序源码+前端+搭建教程启悦源码
- 微信小程序 解决请求服务器手机预览请求不到数据的方法
微信小程序 解决请求服务器手机预览请求不到数据的方法 微信小程序的文档中明确说明了所有的请求是必须使用https的,以没用过https,由于小程序,不得不接触到https,研究了好长时间把tomcat ...
- 微信读书登陆界面java_(JAVA后端)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好...
转载地址:(JAVA后端)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好 转载请注明出处 一.环境搭建 相关环境软件:JDK1 ...
- 微信小程序_调用openAi搭建虚拟伙伴聊天
微信小程序_调用openAi搭建虚拟伙伴聊天 背景 效果 关于账号注册 接口实现 8行python搞定 小程序实现 页面结构 数据逻辑 结束 背景 从2022年的年底,网上都是chagpt的传说,个人 ...
- (微信小程序)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好
转载地址:(微信小程序)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好 转载请注明出处 作者:Happy王子乐 个人网站(整理 ...
- 微信小程序上传图片至服务器Springboot接收格式的问题
微信小程序上传图片至服务器Springboot 需求:通过微信小程序上传图片到服务器,保存至服务器. 实现 Wxml <button bindtap="choose"> ...
最新文章
- 快速查找所有存储过程/触发器中是否包含某个字符串
- zcmu2165(分组背包)
- .net framework 4.0环境下遇到版本不同编译不通过的解决办法
- 基于threejs的商场楼层展示导航系统源码_便民措施再升级就诊无需问路!我院“智能导航系统”正式上线啦!...
- UVA 10604 Chemical Reaction
- url中 斜杠如何传输_如何在父子页面中传输数据(layer)
- 统计问题(HDU-2563)
- Web安全测试实战之测试HTTP方法
- QGIS2.18二次开发环境搭建--番外篇
- linux查看共享内存max,浅析Linux的共享内存与tmpfs文件系统
- 【毕业设计】PHP课程网站络管理系统(源代码+论文)
- java xml stax_Java StAX解析器示例以读取XML文件
- 关于 LiDAR 点云数据处理的一些思考
- CentOS7安装Chrome浏览器
- mysql mtq_MySQL调优学习笔记(一、MySQL基础)
- 生信文献 | TIMER2.0用于分析肿瘤免疫细胞浸润
- 全方位构建信创生态体系,焱融科技完成海光 CPU 生态兼容性认证
- 好的plm软件有哪些?plm软件排行榜
- python的pandas重复值处理(duplicated()和drop_duplicates())
- Jmeter5.x线程组和Sampler基础组件-第一个测试计划
热门文章
- 【Unity3D小功能】Unity3D中实现UI擦除效果、刮刮卡功能
- 阿里P8(专科)找工作被嫌弃,怎么回事?
- 自己做的应用如何赚钱之付费下载
- 2021地理设计组二等奖:夏季台风对滑坡的影响分析及其风险评价
- C语言程序设计入门11——初识格式化输入1:求圆面积
- Unity中的输入事件总结与数字电视遥控器键值映射
- “一张车票,万般无奈”上网购票频频崩溃!12306再次排队等待中...还是技术惹的祸....
- OTT 的快速频道切换(FCC)
- Chapter 12 贝叶斯网络
- 使用EasyRecovery恢复变成RAW的移动硬盘分区