显示标签为“GAE”的博文。显示所有博文
显示标签为“GAE”的博文。显示所有博文

2016年4月13日星期三

谷歌GAE安装WordPress博客:创建Cloud SQL上传文件和绑定域名

谷歌GAE安装WordPress博客:创建Cloud SQL上传文件和绑定域名

免费空间   2013年06月20日 17:52  
谷歌GAE安装Wordpress:创建Cloud SQL上传文件和绑定域名
谷歌GAE,即Google App Engine,是谷歌公司旗下了一个云空间,这个空间一直提供着免费配额的服务,在国内的知晓度几乎没有哪个免费空间可以比肩,网上关于GAE空间教程非常多,用GAE搭建的博客、相册、网盘、论坛等都有不少。
GAE云空间自运行以来就不支持PHP,这不得不说对PHPer来说是一个硬伤,记得几年前还有人用程序在GAE上模拟了PHP运行环境,看得出不少人对GAE运行PHP的渴望。终于到了2013年5月,谷歌已经宣布Google App Engine开始支持PHP运行了。
目前GAE免费云空间运行PHP还没有全面开放使用,想要使用的朋友可以参考谷歌GAE空间支持运行PHP来申请使用,部落已经在前几天收到了GAE发来的GAE运行PHP审核通过的消息,前一天还看到有朋友在部落论坛上发了自己申请成功了GAE PHP
这里还不得不吐槽一下差不多与GAE PHP同时申请的中国版Windows Azure,至今都没有看到有人被审核通过使用的消息,只是在邮箱中收到一个申请已经受理的提醒。所以想要使用微软的“正宗”产品,还是去直接使用Windows Azure国际版吧。
本篇文章将分享如何成功在GAE空间上安装Wordpress博客,包括创建Cloud SQL数据库,修改Wordpress配置文件,上传文件到GAE空间上和绑定自己的域名到GAE上,并最终实现GAE安装Wordpress在国内的正常访问。
很多人对一些国外的大公司推出的免费空间情有独钟,除了好用、限制少以外,长久免费、稳定等特点这应该是最重要的原因,这里有一些优秀的免费PHP空间产品:
谷歌GAE安装Wordpress:创建Cloud SQL上传文件和绑定域名
一、GAE安装Wordpress前准备
1、GAE官网:
  • 1、官网首页:https://appengine.google.com/
  • 2、控制平台:https://cloud.google.com/console
  • 3、GAE PHP申请:谷歌GAE空间支持运行PHP
2、第一次用GAE的朋友,参考:Google App Engine注册绑域名安装博客程序GAE应用安装和使用教程,这两篇文章对了解本文的操作过程很有帮助。
3、下载App Engine PHP SDK,这个是用来上传PHP文件的。这里是App Engine PHP SDK下载地址。将其解压放在C盘中。
4、GAE运行Wordpress需要用到Cloud SQL,你需要进入“控制平台”去激活Cloud SQL,激活前还需要在控制平台里添加一张信用卡。
创建Cloud SQL
5、这个和在GCE中创建VPS是一样的,经过部落测试可以用财付通美国运通卡通过验证。
创建Cloud SQL使用财付通
6、然后是新建一个Cloud SQL。
Cloud SQL新的应用
7、填写一个应用ID即可,例如:freehao123,再点击右边的“确认”就可以创建一个Cloud SQL了。(点击放大)
Cloud SQL新建一个
8、如果不想用Cloud SQL,我们还可以用远程MysqL数据库来帮助Wordpress运行在GAE上。
二、创建GAE运行PHP环境
1、在C盘中新建一个文件夹命名为:freehao123,在文件夹中新建一个文件:app.yaml,复制粘贴以下内容保存。

application: myfreehao123
version: wp
runtime: php
api_version: 1

handlers:
- url: /(.*\.(htm$|html$|css$|js$))
  static_files: wordpress/\1
  upload: wordpress/(.*\.(htm$|html$|css$|js$))
  
- url: /wp-content/(.*\.(ico$|jpg$|png$|gif$))
  static_files: wordpress/wp-content/\1
  upload: wordpress/wp-content/(.*\.(ico$|jpg$|png$|gif$))
  
- url: /(.*\.(ico$|jpg$|png$|gif$))
  static_files: wordpress/\1
  upload: wordpress/(.*\.(ico$|jpg$|png$|gif$))
  
- url: /wp-admin/(.+)
  script: wordpress/wp-admin/\1
  secure: always
  
- url: /wp-admin/
  script: wordpress/wp-admin/index.php
  secure: always

- url: /wp-login.php
  script: wordpress/wp-login.php
  secure: always

- url: /wp-cron.php
  script: wordpress/wp-cron.php
  login: admin

- url: /xmlrpc.php
  script: wordpress/xmlrpc.php

- url: /(.+)?/?
  script: wordpress/index.php
2、记得要将第一行的application名称改成自己的。
GAE修改应用ID
3、再新建一个php.ini文件,复制粘贴以下内容:

google_app_engine.enable_functions = "php_sapi_name, gc_enabled"
4、最后新建一个cron.yaml文件,复制以下内容:

cron:
- description: wordpress cron tasks
  url: /wp-cron.php
  schedule: every 2 hours
三、修改Wordpress配置文件
1、下载最新版本的Wordpress到本地,这里是WordPress最新中文版下载地址
2、将下载下来的Wordpress压缩包解压,会得到一个Wordpress文件夹,将这个文件夹移动到刚刚创建好的freehao123文件夹中,请看我的:
GAE下载文件
3、进入Wordpress文件夹中,将wp-config-sample.php重命名为wp-config.php,请把数据库名称、用户名、密码、主机这四项替换成以下内容。

/** WordPress 数据库的名称 */
define('DB_NAME', 'wordpress_db');

/** MySQL 数据库用户名 */
define('DB_USER', 'wp_user');

/** MySQL 数据库密码 */
define('DB_PASSWORD', 'wp_password');

/** MySQL 主机 */
if(isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'],'Google App Engine') !== false) {
  define('DB_HOST', ':/cloudsql/myfreehao123:freehao123');
}else{
  define('DB_HOST', 'localhost');
}
4、注意:myfreehao123:freehao123中mfreehao123是我应用名称,freehao123是我创建Cloud SQL名称。
GAE修改配置文件
四、在Cloud SQL创建Wordpress数据库环境
1、上面我们已经创建了一个Cloud SQL,我们需要在Cloud SQL中创建数据库名称、用户名、密码。
2、最简单的在Cloud SQL中创建数据库信息是Google提供的Import功能,官方已经有了SQL文件:http://storage.googleapis.com/appengine-php/setup.sql
GAE导入文件
3、在Cloud Storage Path中填入gs://appengine-php/setup.sql,点击OK,我们的MysqL数据库就创建完成了。
GAE官方文件
五、上传Wordpress到GAE成功运行WP博客
1、App Engine PHP SDK下载解压后放在C盘中,freehao123文件夹也是放在C盘中,打开运行命令,执行以下命令:

cd google_appengine
appcfg.py update -R C:\freehao123/
2、C:\freehao123/是你存放在应用文件的绝对路径,你如果是放在别的地方,请自行修改,运行命令后会要求输入GAE账号和密码。
谷歌GAE要输入密码
3、如果你的Google账号设置了两步验证,会出现如下错误:

Use an application-specific password instead of your regular account password.
See http://www.google.com/support/accounts/bin/answer.py?answer=185833
However, now the recommended way to log in is using OAuth2. See

https://developers.google.com/appengine/docs/python/tools/uploadinganapp#oauth

4、到Google两步验证中新建一个应用的专用密码即可。
谷歌GAE专用密码
5、稍等一会儿,文件即会全部上传到GAE空间上,如果你连接不了GAE空间服务器,请挂上D理。
谷歌GAE上传文件
6、进入GAE给你的二级域名,需要挂上D理,就可以在GAE安装运行Wordpress了。
谷歌GAE开始安装WP
六、GAE绑定域名成功访问Wordpress
1、GAE空间用默认的二级域名是在国内无法访问的,但是我们用自己的域名绑定到GAE上就可以正常访问了,而且速度还非常快。
PS:2013年6月28日更新,最新的GAE空间绑定自己的域名方法请参考:新的GAE空间绑定域名方法:添加自定义域名作DNS解析
2、在Application Settings 中有域名设置,点击可以添加自己的域名。
谷歌GAE添加自己的域名
3、要想成功将域名绑定在GAE上,该域名必须是已经使用了Google Apps,没有的请在右边注册添加。
谷歌GAE注册一个账号
4、更加详细的绑定域名方法参考:这是我在GAE上绑定的自定义域名。
谷歌GAE绑定域名完成
七、GAE安装Wordpress小结
1、其实在GAE上安装Wordpress整个过程说起来会比较繁琐,这里部落将自己的配置的Wordpress文件打包给大家:WordPress For GAE下载
2、下载wordpress for gae压缩包下载下来,解压里面有freehao123文件夹,你需要修改的是app.yaml中的application名称、wp-config.php中的myfreehao123:freehao123。
谷歌GAE修改两项文件
3、将这两项替换成你自己的,然后再将整个文件夹上传到你的GAE空间中,就可以直接进入到第五步的GAE安装Wordpress了,整个过程就变得简单多了。
4、GAE空间安装运行Wordpress并绑定域名演示:http://gae.freehao123.info/,这是谷歌官方自己搭建的:http://gaeforphp-blog.appspot.com/
文章出自:免费资源部落 http://www.freehao123.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

Google App Engine 建站指南

Google App Engine 建站指南

GAE是什么?
  从实用的角度说是GAE可以提供我们稳定的免费网站空间,空间支持语言是python、java,数据库是google专有的数据库,数据库和空间可以免费使用1G,超过了1G就要买了,还提供Google的带宽,这个带宽约可以支撑一月500万次访问请求,超过500万次就要买了……对于一般网站这免费的资源就足够了,另外GAE还支持域名绑定,就相当于个人买的虚拟空间一样。
  即使你目前对GAE不了解,也不会python或java,也能轻易使用GAE空间,利用别人编好的基于GAE的程序建立起自己的网站。
  下面就跟着一步一步来。
一、申请GAE空间
  1、申请Google邮箱,如abcdef@gmail.com如果自己已经有了gmail就跳过这一步,gmail申请地址http://www.gmail.com点页面右下角的“Create an account”按钮申请
  2、打开Google App Engine主页http://appengine.google.com/,在页面右边输入你的email,如你的email是abcdef@gmail.com,就只需输入abcdef,输入密码点“sign in”按钮登录。
登录后出现下图所示,点“Create an Application”按钮。
3)然后看到下图,申请GAE需要验证码,GAE会发送一个验证码到你的手机上,记得在你手机号码前面加上“+86”
 4)输入验证码,点上图的“send”后不用一分钟就收到验证码了,
5)在上图红圈位置输入正确验证码后就看到下图,
  这是给你自己选择一个二级域名,如在本例我填上seo-cn.appspot.com,至少填6个字符,填后先点后面的Check按钮看看能不能用,如果提示不可用就换新的试试,直到提示Yes……
6)填好后记得勾上I accept 表示同意他们的条款,点Save按钮建立。若成功则会出现如下图页面提示
 7)点击上图的红圈链接就看到下图的GAE管理页面,如下图,
  这个页面就是你刚才建立的应用的访问统计情况,现在还没有上传你的应用,可以看到No version deployed提示。到这里你已经成功申请了一个GAE应用(说是空间也可以),每个用户可以申请10个这样的应用,即一个手机号码可以弄到10个免费的GAE空间。
二、在自己电脑搭建python+GAE环境
  1)下载、安装python
  下载地址
  目前python的下载链接已被封,可在http://legacy.python.org/ftp//python/ 下载2.7.1版本(初学推荐使用这个版本),选择python-2.7.6.msi下载,也可以点这个直接下载 http://legacy.python.org/ftp//python/2.7.6/python-2.7.6.msi 。下载后双击,一直点下一步就可以顺利完成安装
  2)下载GAE SDK
  下载地址http://code.google.com/intl/zh-CN/appengine/downloads.html ,选择GoogleAppEngine-1.9.0.msi 下载(目前最新版本是1.9.0)。下载后双击一直点下一步可顺利安装,安装了上面两个程序,GAE的环境就建立好了。

三、上传程序(网站)
  GAE空间不同于一般的空间(虚拟空间或vps空间或asp、php空间),一般的空间是点对点的上传,而GAE空间是点对群的上传,这里不细说区别,所以上传的方法就不一样。按下面的步骤来就明白了。
  1)下载可以运行在GAE的网站程序,开源的程序有很多,博客类网站代表性的是micolog和cpedialog,CMS类的网站有GD-cms,这里就以GD-cms为例。
  中文版 gae-django-cms-v2.01.zip 
  下载后解压,注意不要放在含有中文或空格的路径里,为了方便就直接放在D盘的根目录下,如D:\gae-django-cms,如下图
  注意gae-django-cms这个文件夹名最好不要修改,如果要修改还得把run.bat和update.bat的路径改为对应的
  2)把下载下来的gae-django-cms改为自己的网站,用文本编辑器打开app.yaml文件,可以用系统自带的记事本(有时用记事本打开只看到一行,就换用写字板打开)或写字板打开,在第一行application: 后面修改为自己刚才申请到的应用id,如下图
  application: seo-cn
  其它地方不要修改,直接保存即可
  3)在自己电脑运行测试一下
  只需双击run.bat文件,然后打开浏览器,在地址栏输入http://localhost:8080 或http://127.0.0.1:8080/注意,这里需要输入http://虽然你平时打开网站时不用输入它。如果以上过程没出错的话就可以看到如下图所示的网站页面。
  这界面是英文的(这个网站是支持多国语言,默认为英文),下面把它变为中文,只需修改一个地方就可以,用记事本或写字板打开settings.py文件,找到这一行 USE_I18N = False #False(en)/True(cn)如下图
  改为 USE_I18N = True #False(en)/True(cn)就可以,另外有一个地方也可以修改一下(再往下看几行就看到):DEFAULT_FROM_EMAIL = 'xxxxx@gmail.com'。把email改为自己的google邮箱,保存修改后再刷新一下http://localhost:8080 或http://127.0.0.1:8080/就看到中文界面了,如下图:
  你可以把网站的logo改为自己的,logo所在的路径/themes/default/images/logo.gif。就暂时这样了,以后有时间再修改别的,可以上传到自己的GAE空间了
  4)上传到GAE空间
  只需双击 update.bat 文件,就会出现下图的黑框
  在第一个地方输入自己刚才申请GAE用的邮箱,如果的邮箱是abcd@gmail.com就只需输入abcd就可以,敲回车键提示输入密码,好好的输入密码,输入密码时屏幕上没有显示,但它会记录的,输完敲回车键,如果密码正确就会出现下图正在上传的信息,如果输错就会让你重新输入邮箱和密码。
  看到最后红圈里的文字就说明上传已经成功,(从上面的图可以看出,本次上传只上传了1个文件,其它文件GAE云计算里已经存在了,直接共享就可以,这就是GAE的好处,如果是一般的空间,一个主机有100个虚拟空间,假设这100个人都使用动网的论坛程序,那就得上传100份大部分文件相同的重复文件)。上传后就可以打开自己申请到的GAE网站http://seo-cn.appspot.com/,如下图:
  这样,自己已经成功的把网站上传到GAE空间了……

Google App Engine: Platform as a Service 谷歌应用程序引擎:平台即服务

Tools you know and love. Python, Java, PHP, Go and our MySQL compatible Cloud SQL.
Used by millions. Snapchat, Rovio, and Khan Academy run on Google App Engine.
Build and deploy. No worrying about DBAs, servers, sharding, and load balancers.
Scale. Auto scale to 7 billion requests per day.

你知道和你喜爱的工具。 Python, Java, PHP, Go 和我们的 MySQL ,并且兼容Cloud SQL.
被数以百万次使用。 Snapchat, Rovio, and Khan Academy run on Google App Engine.
构建和部署。 不用担心关于数据库管理员,服务器,分片和负载评分器。
规模。 Auto scale to 7 billion requests per day.每天70亿个请求上下波动。

Choose a language 
选择一个语言
Python
Java
PHP
Go

Try a popular framework like Bottle or Django in our playground, which contains examples of a few bare bones apps. Try some or all of them, then download and push any of these examples into production in 5 minutes. Follow the steps on this page.
在我们的应用平台上,尝试用像Bottle或Django一样的常用架构,其中包含一些大概的app应用的例子。尝试一部分或者所有的,然后下载并且用5分钟推动这些例子成为作品。按这页以下步骤:

Take a test drive in the Cloud Playground

驾驶在云平台上做一个测试

Flask
Copy of Flask web framework - 4768042181459968.zip  
Note this playground is public and may be modified by anyone. Don't place sensitive source code or data here.
注意,这个平台是公开的并且可能被任何人修改。不要在这儿放置敏感的资源代码或者数据。

Django
Copy of Django framework - 5893942088302592.zip  

Bottle
Copy of https---github.com-GoogleCloudPlatform-appengine-python-bottle-skeleton-tree-playground - 4619512548687872.zip  
If your app fails to load in the IFRAME below, try running your app in a separate window.
如果你在下面的内嵌框架加载app失败,尝试运行你的app在独立的窗口。


When you're done experimenting, you can download a copy of the project. You have two options:
当你完成实验,您可以下载项目的一个副本。你有两个选择:
  • Press ZIP to download the code you just edited. Unzip the downloaded file and note the new project-directory.
  • Use the git clone command to download a copy of the original files in the project. This will create a new project-directory. Make a note of it:
  • 按ZIP下载你刚刚编辑的代码,解压下载的文件,并且注意新 project-directory.
  • 使用git clone命令下载原始项目文件的副本。这将创建一个新的project-directory。记下它:
  • git clone --recursive https://github.com/GoogleCloudPlatform/appengine-python-flask-skeleton
Now you're ready to begin working locally. Follow the remaining steps on this page.
现在您已经准备好开始在本地工作。按照这个页面的剩余步骤。

Run locally

本地运行

Before you start:

  • You need to be running Python 2.7
  • You must install pip1.4 or later.
  • Download and unzip the Python SDK. This will create a sdk-directory named google_appengine. Make a note of its location, and add it to your PATH.
  • App Engine only uses libraries that are inside your project directory. If you downloaded the project as a zip file, it already contains all the needed libraries. If you cloned the original repository, install dependencies in the project's lib directory by running this command:
在你开始之前:
  • cd <project-directory>
    pip install -r requirements.txt -t lib
To run the downloaded project from your machine:
用你的机器运行下载的项目:
  • Start a local server for the project with the command:
  • 用这条命令启动一个本地服务器命令:
        dev_appserver.py <project-directory>

Deploy to Google Cloud Platform

部署到谷歌的云计算平台

You need to give your app a title and an application identifier. The title is displayed in the browser window when users access your app. The identifier is used to create the app's URL. App Engine URLs look like this: your-app-identifier.appspot.com.
你需要给你的应用一个标题和一个应用程序标示符。这个标题是当其他用户访问你的应用时,展示在浏览器窗口的。标示符是用于创建应用程序的URL的。App Engine URLs 看起来像这样:your-app-identifier.appspot.com

Name and create your app

命名并且创建你的应用程序

Go to appengine.google.com and create an application. (If you've already created a new project using the Google Cloud Console, you can skip this step. The project title and id are the same as an app title and id.)

访问 appengine.google.com并且创建一个应用程序。(如果你已经用谷歌云控制台创建了一个程序,你可以跳过这步。项目的标题、id号和应用的标题id号相同)

Deploy your app

部署应用程序

  • Use the appcfg command. Supply your application identifier for the -A argument:
  • 用appcfg命令。提供你的应用程序标示符作为-A的参数:
    appcfg.py --oauth2 -A <your-app-or-project-id> update <project-directory>
  • The --oauth2 flag is used to provide password-less login to your App Engine account. This is necessary to authenticate the user who's uploading code. The first time you use oauth2, a browser page will pop up telling you that Google App Engine appcfg would like to view and manage apps deployed on Google App Engine. Click Accept. Your machine now has an appcfg token that will be used for automatic verification when you run the appcfg command again.
  • --oauth2 标记被用于提供无密码登陆到你的App Engine账号。这是为了认证谁是上传代码的用户的需要。当您第一次使用oauth2,一个浏览器页面将弹窗告诉你Google App Engine appcfg想查看和管理部署在谷歌的App Engine的应用。点击接受。你的机器立刻获得一个appcfg的标记,当你再次运行appcfg命令时它将被用于自动验证。
  • Point your browser to https://<your-app-identifer>.appspot.com.
  • 将浏览器指向 https://<your-app-identifer>.appspot.com.

What next?

下一步做什么?


The logos associated with the programming languages above are the trademarks or registered trademarks of their respective owners.
与上面的编程语言相关的商标是其各自所有者的商标或注册商标。


Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under theApache 2.0 License. For details, see our Site Policies.
Last updated 二月 7, 2014.
除非另有说明,这个页面的内容和代码示例是在 Creative Commons Attribution 3.0 License Apache 2.0 License许可下的. 详情参见我们的网站政策.
最后更新时间,2014.03.06.