一款IOS社交APP的后台部署简述及注意要点
来源:互联网 发布:js实现三级下拉菜单 编辑:程序博客网 时间:2024/05/17 02:58
- 部署服务器
- 云主机系统配置
- WAMP配置部署
- MySQL相关
- php相关
- Anychat的配置
- 逻辑
- 结语
部署服务器
该项目的APP由于是处于开发阶段,因此对于上下行带宽要求不高,存储空间也没有大的需求。
这里可以自己使用一台电脑搭建服务器环境。
好处就是基本没有额外的开销,机器的全部处理性能和存储空间相当够用,上下行带宽取决于该服务器电脑连接的网络带宽。
坏处就是需要一直开机,由于各种不可抗因素会早出服务器的不稳定性。
也可以使用目前第三方提供的云主机服务,比如腾讯云,阿里云等等。
好处就是上面坏处的补充,稳定,部分配置已经设置好,方便一些。
坏处也显而易见,费用较高,而且存储空间,处理性能,上下行带宽越大/好,费用也就越高。
因为目前APP仍处于开发阶段,因此我这里选择了腾讯云的学生套餐的云主机(10元/月)。
云主机系统配置
购买后就是部署云主机的环境了,这里他会让你选择给云主机安装不同的Server系统(CentOS系列,WindowsServer系列),一般推荐使用Linux环境的CentOS系统,更为稳定可靠。
不过这里因为是第一次接触到,就跟着学长一样用起了WindowsServer2012,之后会尝试把服务器环境转移到CentOS上去。
然后就是在该台云主机上配置必要的环境了,首先是VC环境的配置,从08到15的64位官方VC库全部安装一遍。
注:该处VC库的安装需要注意安装后的完整性,特别是msv**.dll文件最好对照一下检查是否缺少(当初本人安装时一直是各个VC库各种文件丢失,重装VC库也没用,只好找到缺少的dll文件一个个粘进去了)
WAMP配置部署
接下来是安装WampServer,这是一个集成软件,可快速安装并设置好AMP环境,包含Apache\MySQL\PHP。
这里推荐使用包含的MySQL版本在5.6.0以上版本的Wamp,建表时的数据类型与之相关,5.6以上版本较为便利.
安装完成后先别急进入Loaclhost建表,首先需要配置的是Apache下的各类conf配置文件,设置该云主机的外网可以接受访问,具体内容可以百度查找一下。
注:这里我遇到的情况就不太一样了,从官网上下载最新的64位wamp,打开Apache目录下的httpd.conf,在修改外网访问权限后依旧无法在其他主机上访问本机外网,折腾了半天,发现不仅是httpd.conf里面需要修改权限,其他的许多conf文件里均需要修改权限设置,当时头就大了,后来学长不知道从哪里搞来的一个wamp安装包,说是人家都给配置好的,装了上去,他就那样子解决了···
接着设置wamp的语言,有简体中文可选,然后进入Localhost,看是否能成功打开页面,正常显示的话wamp安装配置基本就到此了。
注:这里如果之前有安装了IIS服务的,请注意80端口的冲突,要么关闭IIS服务,要么修改wamp的端口,改为8080之类的都可以,具体修改端口设置可以网上百度查找,较为简单。
MySQL相关
然后就是打开localhost,点击下面的phpmyadmin,就进入了MySQL数据库中,然后设置root账户的密码,牢记。之后建立新的数据库,然后在数据库中建表。
这里我们建立了serverdb数据库,里面目前只有三张表:
- emails表,用于用户的注册以及验证码的存储
- users表,存储用户信息
- mp4表,用于存储mp4文件
注:随着后面业务的不段添加和对整体的优化改善,表的建立维护以及php文件的建立和维护非常重要,以后将着重对这亮点进行补充。
php相关
之后就是编写Php脚本与数据库建立连接了。
这里我们建立Server文件夹,存放至wamp下的www目录下:
Server中conf存放连接的php文件
controller存放逻辑操作用的php文件
lib存放第三方辅助的php文件
model中存放了链接Mysqli的解决方法的php文件
src中存放image,mp4,voice等资源文件
以下是连接用的php文件,可供参考
<?php define ('DEFAULT_CHARSET','utf-8'); define ('DATABASE_CONNECT','Mysqli'); //备选 PDO define ('DATABASE_HOST','localhost'); define ('DATABASE_USER','root'); //define ('DATABASE_PASSWORD',''); define ('DATABASE_PASSWORD','123456'); define ('DATABASE_DBNAME','serverdb'); define ('CONNECT_DATABASE_ERROR_CODE','2'); //数据库连接错误
<?php class ConnectDatabase{ private $dbLink; function __construct($dbnameType) { $this->dbLink=new mysqli(DATABASE_HOST,DATABASE_USER,DATABASE_PASSWORD,$dbnameType); if(mysqli_connect_errno()){ exit(CONNECT_DATABASE_ERROR_CODE); } else{ $this->dbLink->query("set names utf8"); //解决乱码问题 } } function __destruct(){ $this->dbLink->close(); } public function query($sql){ //用于调用存储过程和无返回值的数据库操作 $result=$this->dbLink->query($sql); //query函数的详解 //var_dump($result); if($result!=false){ //$result->free(); return 1; } else{ //echo $result; return 0; } } public function querySingle($sql){ //用于返回单条数据的操作 $result=$this->dbLink->query($sql); if($result==null){ return 0; } $row=$result->fetch_assoc(); $result->free(); return $row; } public function queryMultiple($sql){ //用于返回多条数据的操作 $result=$this->dbLink->query($sql); $rows=array(); if(!$result->num_rows){ return 0; } while($row=$result->fetch_assoc()){ $rows[]=$row; } $result->free(); return $rows; } public function get_insert_id(){ return mysqli_insert_id($this->dbLink); } }
Anychat的配置
然后就是第三方软件的设置了,这里我们用的Anychat,使用他们提供的聊天室文字/图像/音/视频解决方案,省去了我们底层与网络协议的各种问题。
在官网上下载最新的anychat for Windows ,打开后参照其安装部署文档进行一步步的部署,较为简单,然后在交互窗口上输入相关信息,打开相应的服务。
最后开启wamp全部的服务。
至此,初步的后台搭建算是具体完成了。
逻辑
整个的逻辑关系也非常的简单,通过访问服务器外网,向php文件传输数据,php文件进行逻辑操作后对MySQL数据库进行查表返回结果。通过anychat进行文件传输,文字/图片沟通。
结语
这里主要是对部署的介绍,以后随着项目的推进,对业务的添加优化,数据库表与php与anyChat这里将会是讨论学习的重点,以后将会就此做学习记录。
- 一款IOS社交APP的后台部署简述及注意要点
- 社交APP工具的IOS开发
- 开源一个后台基于bmob云端的社交app
- codenameone 的开发及部署过程简述
- “高手”创始人自述:创业该如何试错,做出一款牛X的社交APP
- 如何设计打造一款更适合异性交往的社交App
- IOS APP发布的几个要点
- IOS APP发布的几个要点
- IOS APP发布的几个要点
- Xcode上一个社交类APP项目的设计/运行流程简述
- ios app 发布要点
- 社交要点
- 如何查看一款iOS 的App里面包含的图片
- 我的第一款iOS App: 极简天气 1.0
- 一款新闻类iOS APP的诞生过程(初学)
- 推荐一款创建IOS App图标的软件
- 一款新闻类iOS APP的诞生过程(初学)
- Android开源一个后台基于bmob云端的社交app
- a标签的target问题
- mysql一主多从同步配置
- java基础-IO流2
- 五大常用算法之二:动态规划
- MVP解绑
- 一款IOS社交APP的后台部署简述及注意要点
- 【决策树】ID3算法理解与R语言实现
- tensorboard试用及bug解决
- PHP二维数组降一维函数
- AOP快速入门案例(四)
- Android Textview 添加下划线 方法
- linux(centos)升级到python3
- Intellij IDEA官方默认快捷键大全
- 属性动画