在谷歌云计算引擎上部署移动应用后端
简介
随着国际大都市经济的不断进步,其人口数量也在明显上升。人们的基本思想归纳为两点:成功与接受——而一旦新技术有助于成功则其变得很容易被接受。
再次,人们正在把技术作为一种服务,以改善他们的工作和生活;因此,相应的数据越来越大。随着频繁的服务器访问,常常出现由于数据溢出而导致的流量问题。随着移动数据访问的不断增加,服务器端的流量已大幅提升。
随着新技术的不断发展,传统的服务器计算技术已经不能满足要求。云解决方案脱颖而出,人们可以使用云端的虚拟空间来存储数据而不需要任何物理服务器的帮助。当数据本身位于云端时,计算也就自然地发生在云端。
这就是所谓的云计算。在这里,远程网络服务器充当互联网上的主机服务器作用,用于存储、处理和管理数据,而不必使用任何计算机服务器。当然,实现云计算最佳的基础设施之一就是谷歌计算引擎。
Google Compute Engine(GCE)是Google首次推出的类似亚马逊AWS的IAAS服务。谷歌计算引擎提供的虚拟机运行于谷歌的创新性的数据中心及其遍布全球的光纤网络中。本文将向你介绍在谷歌云计算引擎上部署你的移动应用后端的详细步骤。
当然,为进行下面的操作,你必须准备一个google id。所以,如果你没有的话,还是请先创建一个谷歌邮件id吧!
打开计算引擎官方网站并使用gmail登录
这一步非常简单,只需要参考图示界面即可。
熟悉云控制面板操作
现在,切换到右上方的“My console”打开控制面板。你会被导航到“Getting Started”页面。这里将显示有关“starting with Google cloud”的各种不同信息。
在这里的信息主要涉及:
(1)尝试使用计算引擎
(2)创建谷歌云存储桶(Google Cloud Storage Bucket)
(3)尝试应用程序引擎
(4)使用谷歌API
(5)创建云SQL实例
(6)其他重要参考信息
请参考下图中所示的步骤:
在这里,我们只需专注IaaS(基础设施即服务),因此,我们应继续探讨谷歌计算引擎的问题。因为谷歌计算引擎能够提供给你所有的服务器访问权限,所以,你可以根据要求对其进行修改。
在GCE上创建项目
a.从下拉菜单中选择"create a project"选项,并从给定的标题处选择一个项目。
b.现在,添加项目名称。还有两个复选框:一个让你同意相应的条款和条件,另一个用于订阅邮件信息。请参考下图:
现在,你已经接受了条款和条件并创建了项目,接下来你会被导航到主页面中。
创建待部署应用的虚拟机实例
然而,在这之前,你必须要注册谷歌计算引擎所需的信息。
当然,您还必须为您的项目启用计费。详细信息,请查看https://cloud.google.com/compute/docs/quickstart-linux。
a.就支付来说,谷歌提供了仅需花费300美元的60天试用期,期间你可以充分地探讨谷歌云平台。
b.谷歌计算引擎采用即付即用模型。因此,你只需要为你所需要的服务付费即可。
接下来,真正创建虚拟机实例的情况如下所示。
(1)在云平台控制台上切换到VM实例页面。
(2)单击“Create Instance”按钮来创建虚拟机实例。
(3)在“Boot disk”部分,单击“Change”开始配置您的启动盘。你可以根据预期的服务器请求情况选择机器类型。
(4)在“Preconfigured Image”选项卡中,你可以选择Debian 8 映像或者任何其他方案,总之只要匹配您要部署的后端就行,如Ubuntu 14.04 LTS,等等。
(5)单击“Select”。
(6)在“Firewall”部分,选择允许HTTP流量(Allow HTTP traffic)。这样一来,你就可以允许安全连接,而不是仅仅允许HTTPS流量支持。
(7)单击“Create”按钮创建虚拟机实例。
只是等待一段时间,VM实例就会启动起来。一旦准备就绪,VM实例页面中就会显示一个带有绿色状态的图标。
连接到虚拟机实例
现在的任务是将数据连接到您刚才创建的虚拟机实例,这只要遵循如下步骤:
1. 在云计算平台控制台上切换到虚拟机实例(VM instance)页面。
2. 在虚拟机实例列表中,点击你想要连接到的实例所在行中的SSH按钮。
3. 系统将显示一个终端窗口与你的Linux实例进行交互。请参考下图:
所需的所有设置都可通过这里在终端窗口进行。
下面是一些连接到谷歌计算引擎的方法,供你参考:
(1)从浏览器连接(与上面解释的步骤相同)
(2)使用Gcloud连接到虚拟机实例
(3)使用Linux或Osx工作站上的SSH连接
(4)使用Windows工作站上的Putty连接。
有关如何连接到虚拟机实例的更详细的方案,请参考https://cloud.google.com/compute/docs/instances/connecting-to-instance。
上传PHP后端
到现在,你需要着手把你的PHP后端上传到GCE了。建议大致遵循如下步骤:
第一步:安装Apache和PHP到你的虚拟机实例上。这要运行如下命令:
Sudo apt-get update Sudo apt-get install apache2 php5
第二步:测试Apache和PHP。
1.你必须拥有一个虚拟机实例的外部IP地址。你可以从云平台控制台的虚拟机实例页面得到这个地址。
2.在浏览器中,核实是否Apache正在运行中。你可以观察Apache测试页面。这需要使用如下命令:
http://[YOUR_EXTERNAL_IP_ADDRESS]
3.运行一下测试文件以确定Apache和PHP都在工作中,使用如下命令:
http://[YOUR_EXTERNAL_IP_ADDRESS]/phpinfo.php
这个标准的PHP信息页面将提供给你有关Apache环境的具体信息。
值得注意的是,如果你的页面不能正确地加载(HTTP:404),那么你需要核实是否满足如下:
(1)在云平台控制台中,你的虚拟机实例是否出现流量拥挤情况。
(2)上述URL使用了正确的UI地址和文件名。
第三步:在虚拟机实例上安装MySQL。
这一步要安装MySQL及相应的PHP组件:
sudo apt-get install mysql-server php5-mysql php-pear
接下来,配置MySQL。你应当运行mysql_secure_installation命令来提高安装的安全性。
sudomysql_secure_installation
第四步:安装PhpMyAdmin来更有效地管理MySQL数据库。同时,遵循基本的安装步骤,例如在安装期间设置数据访问密码,等等。
主要使用命令如下:
sudo apt-get install phpmyadmin sudo apt-get update
第五步:测试并校验PhpMyAdmin。在开始测试PhpMyAdmin前按照下列步骤来修改配置文件:
(1)使用你喜欢的编辑器打开配置文件apache.conf,例如使用vi编辑器的命令如下:
sudo vi /etc/apache2/apache2.conf
(2)在上述配置文件中添加下列行:
Include /etc/phpmyadmin/apache.conf
(3)测试PhpMyAdmin。为此,你必须首先使用你当初设置的用户名和密码登录到数据库。默认的用户名是root,密码是你在安装PhpMyAdmin时设置的那个。
http://[YOUR_EXTERNAL_IP_ADDRESS]/phpmyadmin
第六步:默认情况下,apache中重写模块是处于禁用状态的。因此,在我们生成实际的URL重写前需要激活apache的mod_rewrite模块来控制它们。请参考如下命令:
sudo a2enmod rewrite sudo service apache2 restart
第七步:一旦上述模块启动,我们就可以通过在后端目录下创建一个.htaccess文件来重写我们的URL。
(1).htaccess文件提供了一种在不需要更改服务器配置文件的情况下配置你的后端或者网站细节的重要方法。
(2)我们可以在自己喜欢的文本编辑器中创建.htaccess文件,而不需要指定其主文件名。
第八步:允许修改.htaccess文件。
(1)通过打开配置文件可以设置允许在.htaccess文件中重写标准配置。
sudo vi /etc/apache2/sites-available/default
(2)在配置文件中,找到类似于下面的内容,然后修改:把AllowOverride由Node修改为All。
<Directory /var/www/> Options Indexes FollowSymLinksMultiViews AllowOverride All Order allow,deny allow from all </Directory>
(3)一旦修改并保存了上述配置文件,你需要重新启动apache服务器。另外,.htaccess文件对于你网站中的几乎所有一切都是适用的。
sudo service apache2 restart
到目前为止,我们已经完成了所有必需的服务器设置工作,接下来还要把文件上传到虚拟机实例上。然而,在上传操作前还需要更新修改,因为这是数据库连接所要求的。
把文件上传到虚拟机实例
基于工作站的不同,我们可以使用多种方法来传输文件。例如:
1. 使用Gcloud传输文件
2. 使用Linux或OSX工作站上的浏览器传输文件
3. 使用Linux或OSX工作站上的SCP传输文件