笔者最近做了一个APP《小印记》,欢迎前往App Stores搜索下载。由于是初次发布自己的APP,很多东西还不熟悉,所以特此写下过程,一为自己回顾,二为读者借鉴,有不当之处,还请留言探讨!(本文只针对客户端的HTTP请求)
《小印记》iOS源码分享--极光推送实践篇
《小印记》iOS源码分享--自定义弹框篇
《小印记》iOS源码分享--HTTPS配置篇
《小印记》源码分享--极光推送服务器篇
《小印记》iOS源码分享--网络层封装篇
一、背景说明
客户端写好后,如果是单机版的好说,但要进行数据交互的话肯定要用到服务器。笔者的服务器是用Java写的,现在后台的代码也写好了,测试阶段的话都是在本机上完成的。但APP始终是要联网服务大众的,所以在本机上测试完成后就可以将服务器部署到云端了。云服务器看似高大上,其实就是利用别人家的机器和网络资源。
二、云服务器购买
云服务器网上有很多可以选择,但本着经济实用的原则,笔者在淘宝上购买了一个香港的服务器,香港的服务器有一个好处就是不用备案,然后购买的话一定要注意看是否有独立IP(一定要有!这点很重要,后面的域名就这个有关),服务器的配置刚开始不用太高,毕竟个人开发的话暂时也用不了那么多资源,说一下笔者的配置:1G内存、80G固态硬盘、5M带宽、独立IP1个、预装CentOS7.1系统。
三、系统环境配置
1.安装git:(笔者的文件都是通过git来上传下载添加更新的)
yum install git
2.安装JDK:(这里要注意,安装的版本一定要>=1.7,因为1.6版本的JDK在使用TLSv1.2的时候会有问题)
yum install java-1.8.0-openjdk-devel.x86_64
3.安装MySQL数据库:
yum install mariadb-server mariadb
4.配置MySQL数据库:
安装完成MariaDB,首先启动MariaDB
systemctl start mariadb
设置开机启动
systemctl enable mariadb
接下来进行MariaDB的相关简单配置
mysql_secure_installation
首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车
设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
初始化MariaDB完成,接下来测试登录
mysql -u root -p
将自己的数据库数据添加进来
完成
5.安装Tomcat:
笔者装的是Tomcat7,读者可以自行去官网下载:http://tomcat.apache.org/download-70.cgi ,也可以直接克隆笔者的git库里面的tar包:
git clone https://git.oschina.net/Jacedy/resources.git
解压:
tar -xvf apache-tomcat-7.0.73.tar
6.一般我们会把服务器的代码打包成.war包放到tomcat里运行,打包.war文件的方法很简单,在eclipse里的工程名上右键->Export->WAR file 保存就可以了
7.修改server.xml文件(apache-tomcat-7.0.73/conf/server.xml)
vi /home/jacedy/tomcat/apache-tomcat-7.0.73/conf/server.xml
插入下面 “
说明:
第一个Context是配置.war,也就是使tomcat运行我们的工程(注意在更新的时候要同时删除文件apache-tomcat-7.0.73/webapps/JackServices.war和文件夹apache-tomcat-7.0.73/webapps/JackServices,因为tomcat会自动把war包解压出来。
第二个Context是配置虚拟路径,这样配置后tomcat会自动将请求路径里的"/JackServices/resource/img"映射到"/home/jacedy/Images",我这里用来保存客户端上传的图片、文件等,具体作用可以百度tomcat虚拟路径配置。
8.修改catalina.sh文件(apache-tomcat-7.0.73/bin/catalina.sh),设置tomcat环境变量
vi /home/jacedy/tomcat/apache-tomcat-7.0.73/bin/catalina.sh
添加下面四个export的值(具体的路径根据自己的实际情况配置)
# OS specific
support. $var _must_ be set to either true or false.
export TOMCAT_HOME=/home/jacedy/tomcat/apache-tomcat-7.0.73
export CATALINA_HOME=/home/jacedy/tomcat/apache-tomcat-7.0.73
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64
cygwin=false
darwin=false
9.开放8080端口(如果8080端口已开放,此步略过)
在CentOS 7中引入了一个更强大的防火墙——Firewall。在Firewall中开启8080端口,也就是将8080端口加入到zone(Firewall的新特性,简单讲它的作用就是定义了网络区域网络连接的可信等级)中:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
这样就成功的将8081端口加入了public区域中,permanent参数表示永久生效,即重启也不会失效,最后不要忘记更新防火墙规则:
firewall-cmd --reload
查看public区域下所有已打开的端口,命令如下:
firewall-cmd --zone=public --list-ports
10.到此系统的配置全部完成,见证奇迹的时刻到了
启动tomcat:
/home/jacedy/tomcat/apache-tomcat-7.0.73/bin/startup.sh
停止tomcat:
/home/jacedy/tomcat/apache-tomcat-7.0.73/bin/shutdown.sh
实时查看tomcat日志:(按 ctrl + c 退出)
tail -f /home/jacedy/tomcat/apache-tomcat-7.0.73/logs/catalina.out
喜欢请点赞_
最后附上一些可能会用的命令:
修改root密码:
passwd root
移除文件
rm -f /home/jacedy/tomcat/apache-tomcat-7.0.73/webapps/JackServices.war
移除文件夹
rm -rf /home/jacedy/tomcat/apache-tomcat-7.0.73/webapps/JackServices
拷贝目录(拷贝a目录到b目录下)
cp -r /a /b
拷贝文件(拷贝文件a到b目录下)
cp /a /b
查看当前绝对路径
pwd