貼上如何將LAMP (Linux Apache MySQL PHP) Server 移植到Google Compute Engine (GCE).
這個server是用來壓縮上傳圖片還有處理SQL Query.
在這之前還是先準備信用卡,大部分的服務都需要信用卡。
1. 設定Google Cloud Compute Engine(GCE),可以參考底下這兩篇
不過Google只支援PHP 5.4,所以OS選Debian比較保險
(Google的教學影片也是用Debian)
2. 在VM Instance上面安裝Apache2, MySQL, 和PHP
記得不需要安裝PHPMyAdmin,因為SQL DB並是安裝在另一台SQL Server上
3. 取消Apache Directory Listing功能 (網頁看不到目錄)
sudo /usr/sbin/a2dismod autoindex
sudo service apache2 restart
4. 把PHP code搬到GCE的VM Instance
4-a: 建立網路硬碟,從左方選單點選"Storage browser"
4-b: 點選"Add bucket"
4-c: 填入Bucket名稱 (類似資料夾名稱)
4-c: code搬到Google Cloud Storage (GCS)
gsutil -m cp <你的PHP Code> gs://你的資料夾
4-d: code從GCS搬到VM Instance
(在VM console上打底下的指令)
gsutil -m cp gs://<你的PHP Code> /var/www
5. 將MySQL上傳
5-1: 匯出SQL file
mysqldump --databases "你的DB名稱" -u "用戶名稱" -p"<密碼>" --hex-blob --default-character-set=utf8 | sed 's/ENGINE=MyISAM/ENGINE=InnoDB/g' > 備份名稱.sql
5-2: 把SQL檔案搬到Bucket
5-3: 建立DB
按"New Instance"
填入DB名稱
5-3: 匯入SQL,選擇"Import"
5-4: 將SQL IP 記下
5-5: 加入可以存取DB的IP
5-6: 修改MySQL DB連線位置
$dsn = "mysql:host=173.194.2xx.xxx;dbname=$db_name";
$dbh = new PDO($dsn, $db_user, $db_password,
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
6. 使用舊Server上的PHPMyAdmin
vim /etc/phpmyadmin/config.inc.php
/* Server parameters */
$cfg['Servers'][$i]['host'] = '173.194.2xx.xxx';
//$cfg['Servers'][$i]['connect_type'] = 'tcp';
//$cfg['Servers'][$i]['compress'] = false;
接著用舊Server上的PHPMyAdmin查看是否能連線到Google Cloud SQL
這樣就完成設定了~