2014年9月4日 星期四

將Sever移植到Google Compute Engine


貼上如何將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)

初探 Google Cloud Platform - 1. Create instance

初探 Google Cloud Platform - 2. How to login and manage instance


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




這樣就完成設定了~




沒有留言:

張貼留言