频道栏目
读书频道 > 移动开发 > 其他综合 > 移动云计算应用开发入门经典
2.2.4 将移动应用程序部署到服务器实例
2012-12-26 16:36:45     我来说两句
收藏   我要投稿
本书作为构建移动应用程序和云服务的实用向导,对于那些渴望利用云服务(例如Amazon Web Services)的强大能力作为支持,为移动设备创建跨平台应用程序的Web开发人员来说,是一本必不可少的读物。作者Richard R...  立即去当当网订购

现在,Amazon服务器实例的安装配置都已经完毕了,接下来可以将我们编写的移动应用程序部署到服务器实例上。在实际的开发过程中,可能会用到版本控制系统,如Git或Subversion。在本例中,直接将文件复制到服务器即可。首先,需要配置nginx服务器,并且需要编辑nginx的配置文件。为此,使用命令行文本编辑器(如vi或Emacs)打开配置文件。因为不能使用鼠标,这些编辑器需要你使用Ctrl和Esc键来输入命令,如复制和粘贴。如果你已经对这些编辑器很熟悉了,那么完成该示例应该很轻松;如果你对这些编辑器的使用不是很熟悉,建议你花些时间学习一下其基本操作。可以参考下面的网址来学习:www.wikihow.com/Learn-vi或www.wikihow.com/Program-Using-GNU-Emacs。这些命令行编辑器可能显得有些过时了,但如果你打算建立一个基于云的移动应用程序,它们还是非常有用的。你需要通过编辑服务器上的文本文件来配置和控制基于云的应用程序属性。

 试一试     部署移动应用程序

在本例中,你需要配置nginx来发布你的移动Web应用程序的文件,你需要将应用程序的文件复制到Amazon实例中。下面是具体的操作步骤:

(1) 首先打开Terminal应用程序,使用下面的命令登录到Amazon实例中。你需要用实例的公共DNS名称替换下面突出显示的文本:

ssh -i yourkey.pem -l ubuntu ec2...amazonaws.com

(2) 使用命令行编辑器打开nginx的默认配置文件,该文件位于/etc/nginx/sites-available/

default中。

警告:如果你修改的nginx配置文件中包含错误,nginx会输出警告消息并停止。nginx停止后,没有对任何文件提供服务,你的移动Web应用程序也就不能访问了。在UNIX下对配置文件进行修改前,要养成备份的习惯,这样一旦你的修改发生了问题,就可以用备份的配置文件进行恢复,确保系统正常运行。

(3) 将下面的内容插入nginx配置文件的server { ... } 配置项中,放在location / { ... } 子项后面:
      location /draw {
        alias /home/ubuntu/draw;
      }

(4) 保存文件,退出文本编辑器。

(5) 在服务器的home目录下,新建文件夹draw,将绘图应用程序的相关文件复制到这个目录下。一般来说,当你登录到系统时,会默认进入home目录下。如果你使用cd命令改变了目录,可以使用不带任何参数的cd命令来返回到home目录。下面的命令创建draw目录:
cd
mkdir draw

(6) 为了发布这个目录下的文件,需要使用下面的命令指示nginx重新加载配置文件:
sudo nginx -s reload


 

(7) 新打开一个终端窗口,使用cd命令进入到之前开发的绘图应用程序的draw文件夹。如果你把draw目录创建到Projects目录下,可以使用下面的命令:
cd Projects/draw

(8) 复制draw.html 和draw.js 文件到服务器的draw目录下。可以在本机使用scp命令完成这个任务。这个命令的参数和ssh类似,但是它有自己的语法结构(<username>@<server>:

<path>)来表示文件的远程目标目录。下面的命令将这两个文件复制到服务器的draw目录下,注意用实例的公共DNS名称替换突出显示的内容:
scp -i yourkey.pem draw.html ubuntu@ec2...amazonaws.com:draw
scp -i yourkey.pem draw.js ubuntu@ec2...amazonaws.com:draw

执行这个命令后,你的移动Web应用程序已经发布到云中!

(9) 通过你的桌面Safari浏览器来验证是否可以访问你的应用程序。可以访问下面的网址http://ec2...amazonaws.

com/draw/draw.html(突出显示内容为你申请的实例的公共DNS名称)。如果一切正常,应该可以看到绘图应用程序。

(10) 接下来在你的移动设备浏览器上访问同样的网址以打开应用程序。你可以将这个网址用电子邮件发给自己,然后在移动设备上的电子邮件中打开这个网址。应用程序界面应该如图2-13所示。

示例说明

本例中的nginx通过配置文件在根目录下查找draw文件夹,该文件夹中包含了绘图应用程序所需要的所有文件。在本书中,你可以按照这个目录结构来创建子文件夹,保证代码目录的清晰。下载的代码的目录结构也是使用这个目录结构的。当你在本机开发绘图应用程序时,只需要在默认的nginx根目录下创建一个draw文件夹就可以了。 在Amazon 实例上,使用不同的位置来保存draw文件夹,因此需要配置nginx以让它可以找到draw文件夹。

这个示例展示了如何在远程服务器上仅使用命令行实用工具来设置nginx的配置项。当涉及开发和部署自己的基于云的应用程序时,这是一个基本技能。本示例中涉及的命令是构建与发布基于云的移动应用程序时所需要的最少命令集合。当然,可以有很多其他的方式可以达到同样的效果。

一旦你的应用程序运行在EC2服务中,就意味着可以为数百万的用户提供服务。通过简单的设置,可以将现有实例的硬件规模调整到一台更大容量的计算机,这给你的应用程序提供了很好的纵向扩展性;通过创建多台克隆的计算机,增加越来越多的计算机可以为你的应用程序提供横向的扩展性。将两者结合起来,你可以任意扩展自己的系统,以满足应用程序的需要!

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.2.3 部署移动Web应用程序
下一篇:2.3 本章小结
相关文章
图文推荐
排行
热门
最新书评
文章
下载
读书
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站