Upgrade to Pro — share decks privately, control downloads, hide ads and more …

T 客邦網站上線實務分享

T 客邦網站上線實務分享

Sheng-Je Lin

March 01, 2011
Tweet

More Decks by Sheng-Je Lin

Other Decks in Programming

Transcript

  1. Redmine 開票紀錄必要的設定 • 開發時註解起來,上線時需要打開的 code • if Rails.env == ?

    • daemon $ script/delayed_job -n 3 start $ rake thinking_sphinx:start • /etc/crontab $ rake sitemap:refresh $ rake thinking_sphinx:rebuild
  2. 架設 staging server • 相似 production server 的環境 提早發現開發環境無法發現的問題 •

    利用 capistrano 拆分 ◦ gem "capistrano-ext" ◦ config/deploy/production.rb ◦ config/deploy/staging.rb $ cap staging deploy
  3. production 環境的佈署 • deploy code to production server $ cd

    projects/playgame $ cap production deploy:setup $ cap production deploy
  4. production 環境的佈署 • 在 nginx 主要設定檔 /opt/nginx/conf/nginx.conf 加入 ◦ include

    /srv/*/shared/config/nginx.conf ◦ 讀取每個網站的 nginx.conf ▪ /srv/playgame/shared/config/nginx.conf ▪ /srv/digiphoto/shared/config/nginx.conf ▪ /srv/techbang/shared/config/nginx.conf
  5. production 環境的佈署 $ cd /srv/playgame/current $ RAILS_ENV=production rake db:create $

    RAILS_ENV=production rake db:migrate $ RAILS_ENV=production rake db:seed $ export RAILS_ENV=production
  6. 上線前兩天 • 完成 production server 的佈署 • playgame PHP 轉

    Rails ◦ 編輯截稿停止上新文章 ◦ 備份 PHP 資料庫,在 production server 轉換資料庫 ◦ 轉完資料庫檢查 Rails 網站內容 • digiphoto Rails 新站 ◦ 請編輯準備好可以上稿的稿件 ◦ 設定 HTTP Basic Authentication 只有內部人員可以進入 ◦ 開始上稿
  7. production 檢查項目 • 檢測 SSO 登入、登出行為正常 • 確保文章刊登正常,不會顯示未來文章,包括 RSS 輸出

    • 應該使用 strip_tags 濾掉 HTML 的地方 ◦ meta description、文章的引言 • 每頁的 meta title 都要變換 ◦ 文章標題 | 站名 • 確認廣告顯示正常 ◦ 廣告系統、 Google AdSense、Yahoo Ads • Social Widgets ◦ Facebook、Plurk、Twitter
  8. 上線 • playgame 公告網站維護時間兩個小時 ◦ 舊站進入維護頁面 ◦ 修改新舊站 nginx.conf 互換

    server_name ▪ server_name game.techbang.com.tw root /srv/playgame/php ▪ server_name game_on_rails.techbang.com.tw root /srv/playgame/current/public • digiphoto ◦ 解除 HTTP Basic Authentication 即可
  9. SEO 檢查 • public/robots.txt User-Agent: * Disallow: Sitemap: http://game.techbang.com.tw/sitemap_index.xml.gz •

    nginx.conf 中設定 301 轉址 rewrite ^/wow$ http://game.techbang.com.tw/games/45 permanent; • Google Webmaster 進行驗證 • 檢查 RSS,上 feedburner 可分散流量,auto discovery