上次介绍了一下plain framework的基础相关资料,今天该框架正式开源发布。项目的地址托管于github上,我相信大多数朋友都应该知道。今天要介绍的是该框架的目录基本结构,以及分别在linux以及windows平台上安装的例子。为了让初学或者技术不是太扎实的朋友也能快速上手,我在这里一步步从开发环境的搭建讲述到第一个比较完整的示例(网关服务器),每一步都是今日从空白的系统开始及时操做,由简入深,若是你们不太明白请到交流群询问。php
2015年1月10日 更新lnmp安装脚本,兼容最新centos7以上系统,原网盘地址html
https://github.com/viticm/plainframework1mysql
地址:http://www.cnblogs.com/lianyue/p/3972492.htmllinux
参考手册正在编写过程当中,会第一时间先同步到博客上,因为这些文章可能上不了首页,感兴趣的朋友不妨关注博客。git
若是框架发现了新的BUG或者有内容更新,将会持续同步到github项目上。github
本次选用的linux系统为centos(6.5),你能够尝试其余linux系统也可。安装好linux系统,或者已经存在linux系统的状况下,那么咱们开始搭建lnmp环境(web开发环境)。你能够在网络上去寻找相关的资料,或者使用我提供的脚本进行安装,不过php版本最好为5.4以上版本,这是为之后扩展预留。web
首先你要确保你的系统中安装了git,若是没有安装请用如下命令安装(需联网):sql
yum -y install git
其次将框架源码安装到你的开发目录中,如:mongodb
cd ~ && mkdir work #进入用户主目录,并建立工做目录 cd work && git clone https://github.com/viticm/plainframework1
一、使用框架内的脚本进行在线安装(必须使用root权限安装)数据库
cd plainframework1/tools/script/linux/install/ && sudo sh install_web_develop.sh
二、使用提供的离线包及脚本进行离线安装(必须使用root权限,没有网络的需注意如下说明)
能够到百度云盘去取该离线安装包连接:http://pan.baidu.com/s/1pJwnHn9 密码:sa9h
将包放到/web目录下并解压,命令以下:
mkdir -p /web && cd /web && tar -xjvf web.tar.bz2
若是没有网络的状况下,你保证了安装gcc、g++、cmake等必要的工具以后,设置脚本install_web_develop.sh的cDownload=on参数为off。
运行脚本进行安装(大约30~50分钟):
sh install_web_develop.sh #运行脚本
安装成功截图:
安装成功后,再安装框架的开发环境(使用root安装):
cd tools/script/linux/install/ && sh install_environment.sh --full
开发环境成功截图:
建立用户数据库(网关服务器用):
cd ~/work/plainframework1/tools/script/sql/ #进入脚本目录 mysql -uroot -pmysql #进入mysql命令行 mysql> CREATE DATABASE sword_user DEFAULT CHARSET UTF8; //建立数据库 mysql> source sword_user.sql; //执行脚本
配置数据源:
vim /etc/odbc.ini #编辑配置文件
最终的配置以下,其实能够不更改:
[sword_user] Driver = /usr/local/lib/mysqlodbc/libmyodbc5a.so DATABASE = sword_user DESCRIPTION = MySQL ODBC 5.3 Ansi Driver test SERVER = localhost UID = root PASSWORD = SOCKET = [sword_character] Driver = /usr/local/lib/mysqlodbc/libmyodbc5a.so DATABASE = sword_character DESCRIPTION = MySQL ODBC 5.3 Ansi Driver test SERVER = localhost UID = root PASSWORD = SOCKET =
框架使用了cmake等工具编译,若是你使用了我提供的脚本那么编译环境能够不用本身配置。
一、编译依赖
cd ~/work/plainframework1/pf/dependencies/lua/ #lua cmake ./ make cd ~/work/plainframework1/pf/dependencies/iconv/ #iconv cmake ./ make
二、编译框架核心
cd ~/work/plainframework1/pf/core/ cmake ./ make
完整示例中提供了一个网关服务器,其中用到了网络、数据库等核心接口。
cd ~/work/plainframework1/applications/gateway/ cmake ./ make
一、拷贝运行库
cd ~/work/plainframework1/applications/bin/ cp ~/work/plainframework1/pf/dependencies/dll/lib*.so ./ cp ~/work/plainframework1/pf/core/dll/libpf_core.so ./
二、配置文件
cd ~/work/plainframework1/applications/bin/
vim config/gateway_info.ini
[System] DBIP=localhost DBPort=3306 DBConnectionOrDBName=sword_user; 链接或数据库名称 DBUser=root DBPassword=mysql DBConnectorType=0; 链接类型 0 odbc, 1 mysql, 2 sqlserver, 3 mongodb(如今只实现了ODBC) EncryptDBPassword=0; 是否加密了数据库密码 NetListenIP=127.0.0.1; 网络监听IP NetListenPort=12680; 网络监听端口 NetConnectionMax=10240; 最大支持的网络链接数量
三、运行
cd ~/work/plainframework1/applications/bin/
./gateway
在windows上安装开发环境就相对比较容易了,由于不是使用源码编译安装的。我在这里使用的是wamp做为web开发环境,而odbc则是使用系统自带的odbc32位,若是你的机器不是64位的则没有关系。若是你想将框架和应用编译为64位则使用64位的ODBC,至于缘由我就不解释了。
若是用github朋友比较多的可使用github的客户端,打开源码链接后:
将PHP的执行文件的路径设置到你的环境变量中,为了运行框架中的一些脚本,比较重要。
因为vs编译时对重复的文件名则不能正确的连接到目标中,而框架中则存在了许多重复的文件名,因此这里使用到了为windows编译的工具。
路径: tools\script\bat\rename_forvsbuild.bat
双击打开,而后输入选项以下:
回车等待工具执行完成:
进入pf\core\scripts打开工程pf_core.vc9.sln进行编译(目前只支持release编译),固然你能够将此工程转换为vs的其余版本。
同编译框架同样,例子的编译也须要重写项目文件。
打开tools\script\bat\rename_forvsbuild.bat
revert to standard是否还原为标准的,不用输入,直接回车,第二次执行该操做时工程将自动还原。
打开工程文件applications\gateway\scripts\gateway.vc9.sln进行编译。
地址为:http://dev.mysql.com/downloads/connector/odbc/ 版本3.5以上的便可
建立名为sword_user的数据库,编码设置为odbc,并在该数据库下执行脚本tools\script\sql\sword_user.sql。
因为我使用的是32位的应用,因此使用32位的ODBC,如图:
添加你的mysql链接信息以下,链接名为sword_user:
拷贝依赖和框架的动态库到applications\bin目录下。
依赖动态库:pf\dependencies\dll\Release
框架动态库:pf\core\dll\Release
保证mysql和数据库成功的前提下运行gateway.exe
若是你也对开源知识比较感兴趣,若是也对网络应用或者网络游戏感兴趣,若是你也对该框架感兴趣,你能够加入咱们的QQ群(348477824)。
欢迎你们进群相互交流学习,同时也欢迎各位朋友对该框架供出本身的一份心力。