離上次聽這個活動有好一陣子了,不過還是把筆記留起來,雖然很片段...,可能各位客官看不懂,抱歉了...,可以看看簡報網址的內容 :)
- 活動詳細: GDG Taipei #2 - Introduction to Google App Engine for PHP
- 時間 : 2014/02/12
- 講者 : Nevin Chen
- 簡報網址 : http://goo.gl/i9eDKx
活動照片:
介紹 GAE
- 彈性的 scalable
- GAE 設定還算簡單 configuration Tool :
- app.yaml - Depolyment
- appcfg.py - Local Dev Server
- dev_appserver.py - App Descriptor
- GAE: 優點, 部署/scalable 非常快
- PHP: 優點, 開發快
- GAE for PHP :
- 不是所有的 function 都有支援 (supported functions, ex: 沒有 curl)
- supported the stream (gs, http, file, no phar)
- 使用外面的 framework (ex:yii) 還沒有被完整的測試過 (需要 3rd party 來做,像 wordpress 就有 GAE 的 3rd party) (Need community and 3rd party)。
Cloud Storage
- require 一個 cloudStorageTools.php
- 不要被收費的方法: cloudStorageTools::createUploadUrl('...', $options); upload completed 在寫入。
cloud SQL
- cloud SQL 是 MySQL 5.5。
Memcache API
- 用來 speed up DB Queryies. 直接從 memory 拿出來,缺點是他不是 real time 的 (什麼時候會更新: 有設 expr time 的時候)
- Expiration using LRU (最久沒有用的) principle。
- memcache 優點就是在 scale 的時候。
- key and data size is limited.
- Memcache 跟 Memcached 是兩個不同的 API 。差別在於有沒有 return。
Users API
Test Queues
- background processing
- 目前只有支援 push queues
付費的 APP 才有 Socket
安裝 SDK
- Mac : GAE php SDK + MySQL
- Windows: Python + GAE php SDK + MySQL
- Linux: Pythod + php + GAE php SDK + MySQL (locale php cgi)
建立一個新 Project (App Engine)
- Project Name 隨時都可以改
- Project Id 不能改
安裝 cloud platform
- 要先進 console (Google Developers Console https://play.google.com/apps/publish/signup/)
- 一開始要先建立 Cloud SQL (建 DB) -> Create Instance (Instance ID 是 project ID)
- 怎麼連 Database? (舊版的界面可以下 sql command)
- 先 request 一個 ip address (一按下去就開始付錢了)( 這個要到的 ip address 這就是當你用 mysql 連線工具的 host, 然後帳號是 root )
一個簡單的 project structure
- 範例: https://github.com/cnevinc/HelloGAEProject
- Static Folder: 放 css,js 等等靜態檔 (直接餵給 client)
- app.yaml 是 request handler
application: regal-center-453
version: 1
runtime: php
api_version: 1
handlers:
- url: /stylesheets
static_dir: stylesheets
- url: /.*
script: helloworld.php
Deploy
- To App Engine
- Oauth2 : 可以不用一直打密碼
你的 Doamin:
- [project Id 專案id].appspot.com
- ex: regal-center-453.appspot.com
GAE with Wordpress
- Running WordPress in GAE
- app.yaml 第10, 15, 20 行 要拿掉 $
- wp-config.php 要讓 password 空白(leave password empty when connect to cloud SQL)
- install plugin before upload
步驟筆記 :
- Download 一個 wordpress
- 解壓縮到你的 project folder
- 要設定 app.yaml, cron.yaml, php.ini (toturial 上面都有,通常 copy toturial 的內容直接拿來改就可以用了)
- 要改 wp-config.php,defined('DB_PASSWORD','');
- 指令: dev_appserver.py 專案 older
沒有留言:
張貼留言
若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD