2015年8月2日 星期日

佈署網站

1.申請一個亞馬遜免費主機
http://blog.json.tw/teaching-ten-minutes-to-quickly-build-a-free-amazon-ec2-host
其中security,一開始先選擇port:3000
申請完後記下public ip

2.申請一個網域
https://www.godaddy.com/?isc=gofhtw03&ci=
https://sofree.cc/wordpress-box-tip-1/
申請一個好記又好聽的名子
在這個網頁選擇Manage DNS,可以增加record (設定IP)以及設定Nameserver


3.使用DNS代管
https://www.cloudflare.com/
登入後到下面網頁選擇DNS,增加一個record,填入網域名稱以及網址,記下NameServer
將Nameserver 填入上一個步驟的網頁裡。

4.執行nslookup nomain_name IP 確認網域是否與IP連線成功
http://extra.pchome.com.tw/adm/faq_content02.htm?channel_no=&exh_no=P000007&pexh_no=P000181&cexh_no=H000185&faq_id=327&qnum=1

5.在ubuntu環境裡還可以使用whois來確認網域名稱的狀態
或是:
http://www.whois365.com/tw/
https://www.whois.net/
6.登入amazon主機
ssh -i "coolio.pem" ubuntu@52.24.185.68 or ssh -i "coolio.pem" ubuntu@ironcaptain.com
其中coolio.pem是申請虛擬雞過程產生的ssh key

7.接下來就是一般ubuntu的操作,安裝git,node js,express....
8.安裝nginx 
http://wiki.nginx.org/Install
增加一個nginx設定檔/etc/nginx/conf.d/ironcaptain.com.conf
內如如下
upstream backend{
  server 120.0.0.1:3000; 
}
proxy_cache_path /var/nginx/cache/ironcaptain keys_zone=ironcaptain:20m;
 
server{
 listen 80;
 server_name ironcaptain.com;
 access_log /var/log/nginx/ironcaptain.access.log;
 proxy_cache ironcaptain;
 location / {
  proxy_pass http://backend;
 }
}

說明:
1.server 120.0.0.1:3000:主機使用port 3000但是由nginx管理的port 80對外 (listen 80;)
2.proxy_cache ironcaptain;指定cache的大小(20M)與存放位址
3.server_name ironcaptain.com;登入的網址
4.location / :主頁 會轉到http://backend;也就是server 120.0.0.1:3000;
5.當有佈署其他的主機在此欄位增加
upstream backend{
  server 120.0.0.1:3000;
  server 120.0.0.1:3001; 
}
啟動service
1.service nginx start
2.service nginx restart
http://serverfault.com/questions/213185/how-to-restart-nginx
http://wiki.nginx.org/InitScripts
9.安裝node js daemon forever
https://github.com/foreverjs/forever
啟動:
forever start app.js
其中app.js 是nodejs的啟動程式在我們的case要看package.json中的"start": "node ./bin/www"
所以應該是執行 
forever start ./bin/www
停止 :
forever stop./bin/www