一款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这里将会是讨论学习的重点,以后将会就此做学习记录。