Submit Search
Upload
Webconf2013-非典型貧窮網站維運經驗分享
•
55 likes
•
5,757 views
Mu-Fan Teng
Follow
http://www.webconf.tw/program.html
Read less
Read more
Technology
Report
Share
Report
Share
1 of 157
Download now
Download to read offline
Recommended
JavaScript for backend
JavaScript for backend
Caesar Chi
中文網路字型的現況與挑戰(Webconf 20130113)
中文網路字型的現況與挑戰(Webconf 20130113)
michael 葉
Does firefox matter?
Does firefox matter?
Irvin Chen
Secret sauce of building php applications
Secret sauce of building php applications
Lin Yo-An
2013 01 13 webconf milkmidi Flash
2013 01 13 webconf milkmidi Flash
綠茶 奶
20130113 Web Conference - communicate
20130113 Web Conference - communicate
Hitomi Yang
BDD in .NET
BDD in .NET
Joey Chen
Gamification vs UX
Gamification vs UX
Hana Chang
Recommended
JavaScript for backend
JavaScript for backend
Caesar Chi
中文網路字型的現況與挑戰(Webconf 20130113)
中文網路字型的現況與挑戰(Webconf 20130113)
michael 葉
Does firefox matter?
Does firefox matter?
Irvin Chen
Secret sauce of building php applications
Secret sauce of building php applications
Lin Yo-An
2013 01 13 webconf milkmidi Flash
2013 01 13 webconf milkmidi Flash
綠茶 奶
20130113 Web Conference - communicate
20130113 Web Conference - communicate
Hitomi Yang
BDD in .NET
BDD in .NET
Joey Chen
Gamification vs UX
Gamification vs UX
Hana Chang
130113 why.&.how.smb.running.ux-light
130113 why.&.how.smb.running.ux-light
David Liu
WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」
Orange Tsai
Designing physical and digital experience in social web
Designing physical and digital experience in social web
Janet Huang
20130112用原型驅動設計@webconf
20130112用原型驅動設計@webconf
Justin Lee
那些mockup沒告訴你的事@WebConf.tw 2013
那些mockup沒告訴你的事@WebConf.tw 2013
Adam Wang
超理性使用者介面設計 - Data-driven A/B Testing
超理性使用者介面設計 - Data-driven A/B Testing
Ying-Hsiang Liao
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
Will Huang
A brief introduction to SPDY - 邁向 HTTP/2.0
A brief introduction to SPDY - 邁向 HTTP/2.0
Wen-Tien Chang
使用Javascript及HTML5打造協同運作系統
使用Javascript及HTML5打造協同運作系統
Hsu Ping Feng
借力使力的乾坤挪移大法-以使用者為中心的設計決策奧妙
借力使力的乾坤挪移大法-以使用者為中心的設計決策奧妙
悠識學院
Disneyland Project presenting slide for HTM
Disneyland Project presenting slide for HTM
Apichart Namsiriviwat
Wais i
Wais i
Raquel Silva Herrera
Auraplus ciuziniai
Auraplus ciuziniai
Seo Paslaugos
Ies electrical-engineering-paper-2-2005
Ies electrical-engineering-paper-2-2005
Venugopala Rao P
Hsu Presentation
Hsu Presentation
sealt
Creating an Evolving Social Technology Strategy
Creating an Evolving Social Technology Strategy
Perficient, Inc.
Top Thirty Global Media Owners 2014
Top Thirty Global Media Owners 2014
Performics
1886 6445-1-pb
1886 6445-1-pb
Rogério Gonçalves
Financial management ....the millieum financial management
Financial management ....the millieum financial management
raufik tajuddin
1200 j lipman
1200 j lipman
SMACC Conference
My experience of Ruby Education in Taiwan
My experience of Ruby Education in Taiwan
Mu-Fan Teng
WebSocket For Web Rubyists
WebSocket For Web Rubyists
Mu-Fan Teng
More Related Content
Viewers also liked
130113 why.&.how.smb.running.ux-light
130113 why.&.how.smb.running.ux-light
David Liu
WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」
Orange Tsai
Designing physical and digital experience in social web
Designing physical and digital experience in social web
Janet Huang
20130112用原型驅動設計@webconf
20130112用原型驅動設計@webconf
Justin Lee
那些mockup沒告訴你的事@WebConf.tw 2013
那些mockup沒告訴你的事@WebConf.tw 2013
Adam Wang
超理性使用者介面設計 - Data-driven A/B Testing
超理性使用者介面設計 - Data-driven A/B Testing
Ying-Hsiang Liao
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
Will Huang
A brief introduction to SPDY - 邁向 HTTP/2.0
A brief introduction to SPDY - 邁向 HTTP/2.0
Wen-Tien Chang
使用Javascript及HTML5打造協同運作系統
使用Javascript及HTML5打造協同運作系統
Hsu Ping Feng
借力使力的乾坤挪移大法-以使用者為中心的設計決策奧妙
借力使力的乾坤挪移大法-以使用者為中心的設計決策奧妙
悠識學院
Disneyland Project presenting slide for HTM
Disneyland Project presenting slide for HTM
Apichart Namsiriviwat
Wais i
Wais i
Raquel Silva Herrera
Auraplus ciuziniai
Auraplus ciuziniai
Seo Paslaugos
Ies electrical-engineering-paper-2-2005
Ies electrical-engineering-paper-2-2005
Venugopala Rao P
Hsu Presentation
Hsu Presentation
sealt
Creating an Evolving Social Technology Strategy
Creating an Evolving Social Technology Strategy
Perficient, Inc.
Top Thirty Global Media Owners 2014
Top Thirty Global Media Owners 2014
Performics
1886 6445-1-pb
1886 6445-1-pb
Rogério Gonçalves
Financial management ....the millieum financial management
Financial management ....the millieum financial management
raufik tajuddin
1200 j lipman
1200 j lipman
SMACC Conference
Viewers also liked
(20)
130113 why.&.how.smb.running.ux-light
130113 why.&.how.smb.running.ux-light
WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」
Designing physical and digital experience in social web
Designing physical and digital experience in social web
20130112用原型驅動設計@webconf
20130112用原型驅動設計@webconf
那些mockup沒告訴你的事@WebConf.tw 2013
那些mockup沒告訴你的事@WebConf.tw 2013
超理性使用者介面設計 - Data-driven A/B Testing
超理性使用者介面設計 - Data-driven A/B Testing
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
A brief introduction to SPDY - 邁向 HTTP/2.0
A brief introduction to SPDY - 邁向 HTTP/2.0
使用Javascript及HTML5打造協同運作系統
使用Javascript及HTML5打造協同運作系統
借力使力的乾坤挪移大法-以使用者為中心的設計決策奧妙
借力使力的乾坤挪移大法-以使用者為中心的設計決策奧妙
Disneyland Project presenting slide for HTM
Disneyland Project presenting slide for HTM
Wais i
Wais i
Auraplus ciuziniai
Auraplus ciuziniai
Ies electrical-engineering-paper-2-2005
Ies electrical-engineering-paper-2-2005
Hsu Presentation
Hsu Presentation
Creating an Evolving Social Technology Strategy
Creating an Evolving Social Technology Strategy
Top Thirty Global Media Owners 2014
Top Thirty Global Media Owners 2014
1886 6445-1-pb
1886 6445-1-pb
Financial management ....the millieum financial management
Financial management ....the millieum financial management
1200 j lipman
1200 j lipman
More from Mu-Fan Teng
My experience of Ruby Education in Taiwan
My experience of Ruby Education in Taiwan
Mu-Fan Teng
WebSocket For Web Rubyists
WebSocket For Web Rubyists
Mu-Fan Teng
20150118 學個 Sinatra 好過年
20150118 學個 Sinatra 好過年
Mu-Fan Teng
Mopcon2014 - 使用 Sinatra 結合 Ruby on Rails 輕鬆打造完整 Full Stack 網站加 API Service服務
Mopcon2014 - 使用 Sinatra 結合 Ruby on Rails 輕鬆打造完整 Full Stack 網站加 API Service服務
Mu-Fan Teng
實踐大學教案20140329
實踐大學教案20140329
Mu-Fan Teng
Rails Girls Taiwan 2014 Intro
Rails Girls Taiwan 2014 Intro
Mu-Fan Teng
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰
Mu-Fan Teng
Introduce Ruby Taiwan@Rubykaigi2013
Introduce Ruby Taiwan@Rubykaigi2013
Mu-Fan Teng
Concurrency model for mysql data processing@rubyconf.tw 2012
Concurrency model for mysql data processing@rubyconf.tw 2012
Mu-Fan Teng
Sinatra Tutorial@Rubyconf.TW2011
Sinatra Tutorial@Rubyconf.TW2011
Mu-Fan Teng
Ruby程式語言入門導覽
Ruby程式語言入門導覽
Mu-Fan Teng
Ruby on discuz
Ruby on discuz
Mu-Fan Teng
More from Mu-Fan Teng
(12)
My experience of Ruby Education in Taiwan
My experience of Ruby Education in Taiwan
WebSocket For Web Rubyists
WebSocket For Web Rubyists
20150118 學個 Sinatra 好過年
20150118 學個 Sinatra 好過年
Mopcon2014 - 使用 Sinatra 結合 Ruby on Rails 輕鬆打造完整 Full Stack 網站加 API Service服務
Mopcon2014 - 使用 Sinatra 結合 Ruby on Rails 輕鬆打造完整 Full Stack 網站加 API Service服務
實踐大學教案20140329
實踐大學教案20140329
Rails Girls Taiwan 2014 Intro
Rails Girls Taiwan 2014 Intro
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰
Introduce Ruby Taiwan@Rubykaigi2013
Introduce Ruby Taiwan@Rubykaigi2013
Concurrency model for mysql data processing@rubyconf.tw 2012
Concurrency model for mysql data processing@rubyconf.tw 2012
Sinatra Tutorial@Rubyconf.TW2011
Sinatra Tutorial@Rubyconf.TW2011
Ruby程式語言入門導覽
Ruby程式語言入門導覽
Ruby on discuz
Ruby on discuz
Webconf2013-非典型貧窮網站維運經驗分享
1.
在家也能架出⼤大網站-
⾮非典型精實貧窮網站維運經驗 分享 慕凡(@ryudoawaru)於WebConf2013 2013/01/13 1 13年1月13⽇日星期⽇日 1
2.
About Me
2 13年1月13⽇日星期⽇日 2
3.
慕凡
(ryudo) @ryudoawaru 3 13年1月13⽇日星期⽇日 3
4.
遊戲業10年
4 13年1月13⽇日星期⽇日 4
5.
1996
http://goo.gl/m2Xga 5 13年1月13⽇日星期⽇日 5
6.
2006
http://hbo.x-legend.com.tw 6 13年1月13⽇日星期⽇日 6
7.
roles
• Game System Designer • Executive Producer • Release Manager • DB Tool Programmer 7 13年1月13⽇日星期⽇日 7
8.
2007轉職
8 13年1月13⽇日星期⽇日 8
9.
網站創業者
9 13年1月13⽇日星期⽇日 9
10.
Tomlan軟體⼯工作室
• http://www.tomlan.tw • Founded on 2007.03 • 專⻑⾧長為以論壇(Discuz!)為主體的社群系 統 10 13年1月13⽇日星期⽇日 10
11.
旗下網站
11 13年1月13⽇日星期⽇日 11
12.
http://www.freebbs.tw
12 13年1月13⽇日星期⽇日 12
13.
http://www.gameclub.tw
13 13年1月13⽇日星期⽇日 13
14.
freebbs.com.tw
和我們無關 14 13年1月13⽇日星期⽇日 14
15.
6 years
15 13年1月13⽇日星期⽇日 15
16.
Organize
with 16 13年1月13⽇日星期⽇日 16
17.
順帶⼀一提
17 13年1月13⽇日星期⽇日 17
18.
謙虛的⼈人也可以學Rails
18 13年1月13⽇日星期⽇日 18
19.
Agendas
• 為何要在家架網站 • 在家架網站的細節 • 頻寬 • 硬體 • 軟體 • 其它好⽤用的服務 19 13年1月13⽇日星期⽇日 19
20.
Why Self-Hosting?
20 13年1月13⽇日星期⽇日 20
21.
成本控制
21 13年1月13⽇日星期⽇日 21
22.
雲端 V.S. 在家架站
成本⽐比較 22 13年1月13⽇日星期⽇日 22
23.
⺫⽬目標網站
• 網站類型:論壇社群 • 訪客:Unique Visitor 40,000+/day • 月流量: • 主站:800GB • 圖庫:1.4TB 23 13年1月13⽇日星期⽇日 23
24.
如果在AWS(JP)
• 1 EC2 Large Instance • 月流量約800GB • 1 S3 Storage • 月流量約1.4TB • 1 RDS(Large) for MySQL 24 13年1月13⽇日星期⽇日 24
25.
28,000NTD/月
25 13年1月13⽇日星期⽇日 25
26.
轉職游⺠民確定
26 13年1月13⽇日星期⽇日 26
27.
同樣的條件⾃自⼰己架站
27 13年1月13⽇日星期⽇日 27
28.
⼀一個月不到5,000
價格 折舊期間/月 ⼀一年費⽤用 伺服器 NT$27,000 36 NT$9,000 42U機櫃 NT$12,000 60 NT$2,400 HUB NT$5,500 36 NT$1,833 IPKVM NT$23,000 36 NT$7,667 2U機架UPS NT$23,000 36 NT$7,667 網路費 20M/月 NT$2,000n/a NT$24,000 電費/月 NT$300n/a NT$3,600 ⼩小計 NT$56,167 28 13年1月13⽇日星期⽇日 28
29.
成本結構
1. 經常性開銷 1. 網路費 2. 電費 3. 房租(如果有) 2. ⼀一次性費⽤用 1. 硬體設備 29 13年1月13⽇日星期⽇日 29
30.
頻寬費⽤用
30 13年1月13⽇日星期⽇日 30
31.
便宜的頻寬
就像折凳的奧妙之處⼀一樣 31 13年1月13⽇日星期⽇日 31
32.
光世代固定制
• 20M上傳(含)以下幾乎所有⼈人都可以裝 • 40M以上需要有FTTH(光化箱)到府 http://fttb.hinet.net/3ip/fttx_rates.html 32 13年1月13⽇日星期⽇日 32
33.
硬體
• 必要的 • 伺服器 • HUB • UPS • 不⼀一定要的 • IP-KVM • 機櫃 • 遠端電源管理 • NAS 33 13年1月13⽇日星期⽇日 33
34.
Server
34 13年1月13⽇日星期⽇日 34
35.
安靜 V.S.效能
35 13年1月13⽇日星期⽇日 35
36.
Home Server要點
• 省空間 • 安靜/低溫 • 放在家不能太吵或太熱 • 不要外接顯卡 • 平均的效能 • 主流4核⼼心以上CPU • ⾼高速I/O 36 13年1月13⽇日星期⽇日 36
37.
候選清單
• XPC • Mac Mini • ⼩小型塔式品牌Server • ⾃自組 37 13年1月13⽇日星期⽇日 37
38.
不考慮機架Server
(因為太吵) 38 13年1月13⽇日星期⽇日 38
39.
XPC
39 13年1月13⽇日星期⽇日 39
40.
XPC-成本
• 準系統:內含主機板/電源/機殼 • 需要購買: • CPU • RAM • 硬碟 40 13年1月13⽇日星期⽇日 40
41.
XPC-優點
• ⾮非常耐⽤用(個⼈人經驗) • 擴充性/效能與成本的平衡選擇 • 意外安靜的POWER與熱導管系統 • 最⼩小Size可以插四條RAM的選擇 • 幾乎所有機型都有內顯 41 13年1月13⽇日星期⽇日 41
42.
XPC-缺點
• BIOS寫的不太好 • 維修服務品質低落 42 13年1月13⽇日星期⽇日 42
43.
Mac Mini
43 13年1月13⽇日星期⽇日 43
44.
Mac Mini-優點
• 最⼩小體積 • Apple品質保證 • 終極的靜⾳音 44 13年1月13⽇日星期⽇日 44
45.
Mac Mini-缺點
• 低(⾼高貴)擴充性,RAM只有兩條 • 總體持有成本⽐比XPC貴約5~7,000 • 改裝SSD需⼿手⼯工或找店家 • CPU頻率較低(2.3 v.s. 3.4) • 改裝Linux系OS需調整(http://goo.gl/ cEDw2) 45 13年1月13⽇日星期⽇日 45
46.
⼩小型塔式品牌Server
46 13年1月13⽇日星期⽇日 46
47.
Mini Tower Server-優點
• Micro-ATX機殼(約2台XPC) • 伺服器規格,穩定性可期待 • 考量靜⾳音與持續運作的散熱之設計 • 內建雙網卡/硬碟熱抽換模組/獨⽴立顯⽰示 • 價格平⺠民化,可插⼀一般RAM 47 13年1月13⽇日星期⽇日 47
48.
Mini Tower Server-缺點
• 相對佔空間 • 零組件相容性問題 48 13年1月13⽇日星期⽇日 48
49.
DIY主機
49 13年1月13⽇日星期⽇日 49
50.
DIY-優點
• 對成本完全控制 • 100%的⾃自訂性 • 享受(?)HomeBrew的快感 • 便宜組件的穩定性也不賴 50 13年1月13⽇日星期⽇日 50
51.
DIY-缺點
• 組合複雜 • 相容性問題不少 • 散熱與降噪不易處理 • 要⾃自⼰己抓問題 51 13年1月13⽇日星期⽇日 51
52.
⽐比較表
Mac 直⽴立 XPC mini Server $ 便宜 最貴 有點貴 靜⾳音 安靜 超安靜 普通 散熱 普通 普通 最好 佔空間 ⼩小 最⼩小 ⼤大 效能 ⾼高 最低 ⾼高 擴充性 中 無 ⾼高 穩定性 OK OK 最⾼高 52 13年1月13⽇日星期⽇日 52
53.
其它硬體注意事項
53 13年1月13⽇日星期⽇日 53
54.
絕對不要裝家⽤用級硬
碟在你的Server上 (備份碟除外) 54 13年1月13⽇日星期⽇日 54
55.
企業級硬碟
• WD:暴⻯⿓龍/RE系列 • Seagate:ConstellationCS/ES • Hitachi/Toshiba:就叫企業級 • 所有SAS硬碟 55 13年1月13⽇日星期⽇日 55
56.
便宜安全⾼高效⽅方案:
拆機SAS硬碟+低價 SAS Raid卡 56 13年1月13⽇日星期⽇日 56
57.
永遠不要⽤用主機板上
的fakeRaid 57 13年1月13⽇日星期⽇日 57
58.
其它硬體
58 13年1月13⽇日星期⽇日 58
59.
IP-KVM
59 13年1月13⽇日星期⽇日 59
60.
IP-POWER
60 13年1月13⽇日星期⽇日 60
61.
機櫃
61 13年1月13⽇日星期⽇日 61
62.
NAS
62 13年1月13⽇日星期⽇日 62
63.
SOFTWARE
63 13年1月13⽇日星期⽇日 63
64.
沒有要講的
• 程式語⾔言 • Framework • OS / Distribution 的選擇 64 13年1月13⽇日星期⽇日 64
65.
要講的
• Web Server • DB(RDBMS) • 檔案系統與備份策略 • 網路攻擊的應對 65 13年1月13⽇日星期⽇日 65
66.
WEB Server
66 13年1月13⽇日星期⽇日 66
67.
個⼈人經驗
• 3年Apache(2.2 Worker MPM) • Rails⽤用Mongrel + mod_proxy(前期) / Passenger • 2年Nginx • PHP 5.3 FPM + FastCGI • Rails⽤用Passenger/Thin 67 13年1月13⽇日星期⽇日 67
68.
APACHE
68 13年1月13⽇日星期⽇日 68
69.
易上⼿手
(套件管理增加功能便利) 69 13年1月13⽇日星期⽇日 69
70.
模組多
(裝模組不⽤用重編全部) 70 13年1月13⽇日星期⽇日 70
71.
⼤大家都愛.htaccess
(修改不⽤用重開) 71 13年1月13⽇日星期⽇日 71
72.
功能包⼭山包海
(幾乎不⽤用開別的Daemon) 72 13年1月13⽇日星期⽇日 72
73.
靜態檔案效能低落
(和Nginx⽐比) 73 13年1月13⽇日星期⽇日 73
74.
Proxy效能低落
(和Nginx⽐比) 74 13年1月13⽇日星期⽇日 74
75.
重啟時間⻑⾧長
(連線數很多時) 75 13年1月13⽇日星期⽇日 75
76.
重點:⼀一定不要⽤用
Prefork 76 13年1月13⽇日星期⽇日 76
77.
Nginx
77 13年1月13⽇日星期⽇日 77
78.
靜態檔案速度爆快
78 13年1月13⽇日星期⽇日 78
79.
需要調整的選項不多
(和Apache⽐比) 79 13年1月13⽇日星期⽇日 79
80.
添加功能需要重編譯
80 13年1月13⽇日星期⽇日 80
81.
例:增加Passenger
#!/bin/bash cd $PASSENGER_ROOT rake nginx make clean ./configure --prefix='/usr/local/nginx' --with-http_ssl_module --add- module='$PASSENGER_ROOT/ext/nginx' 81 13年1月13⽇日星期⽇日 81
82.
改設定需要重開或reload
82 13年1月13⽇日星期⽇日 82
83.
php需要另外設定
apache或fpm (framework需特定rewrite rule) 83 13年1月13⽇日星期⽇日 83
84.
RewriteRule和Apache不太⼀一樣
(不難學習) 84 13年1月13⽇日星期⽇日 84
85.
⼀一些⼩小技巧
85 13年1月13⽇日星期⽇日 85
86.
將靜態檔案拆到不同
VirtualHost (針對單⾴頁⾼高request數) 86 13年1月13⽇日星期⽇日 86
87.
⽤用X-Sendfile或
SecureLink做權限控管 (避免無謂消耗後端程式資源) 87 13年1月13⽇日星期⽇日 87
88.
Secure Link
Nginx:HttpSecureLinkModule Apache:mod_auth_token 88 13年1月13⽇日星期⽇日 88
89.
URL加料做驗證
md5(密鑰+時間撮記+檔名+IP) /uri-prefix/$token/$timestamp-in-hex/rel-path /downloads/dee0ed6174a894113d5e8f6c98f0e92b/ 43eaf9c5/file_to_protect.txt $token為預先設定的AuthTokenSecret加上檔名與時 間撮記後md5加密⽽而成, 具有時效性 89 13年1月13⽇日星期⽇日 89
90.
案例-線上影視串流服務
• 配合H.264模組, 無需外部Media Server • 無需⽤用後端程式輸出 • User在看到連結後該連結極短時間內即 失效, 故user無法下載檔案. 90 13年1月13⽇日星期⽇日 90
91.
SQL-RDBMS
• MySQL • PostgreSQL 91 13年1月13⽇日星期⽇日 91
92.
MySQL
92 13年1月13⽇日星期⽇日 92
93.
⼀一般Storage Engine
• MyISAM • Innodb 93 13年1月13⽇日星期⽇日 93
94.
MyISAM的問題
• 資料稍⼤大時效能低落 • 沒有ACID(Transaction) • 常常需要Repair table(data may lose) • 備份時會卡住全DB 94 13年1月13⽇日星期⽇日 94
95.
MyISAM的便利性
• DB較⼩小時效能⾼高 • ⺫⽬目錄即DB,可攜性⾼高 • 需要調整的選項較少 95 13年1月13⽇日星期⽇日 95
96.
InnoDB
96 13年1月13⽇日星期⽇日 96
97.
參數調整很重要
97 13年1月13⽇日星期⽇日 97
98.
Always set
innodb_buffer_pool_size >= DB size (RAM is very cheap now) 98 13年1月13⽇日星期⽇日 98
99.
PostgreSQL
(別名:Oracle開源版) 99 13年1月13⽇日星期⽇日 99
100.
Much Stabler
100 13年1月13⽇日星期⽇日 100
101.
某線上遊戲(2006)
• 使⽤用版本:7.2(10 years+ ) • 同時上線⼈人數:20k+ • 程式的杯具:射⼀一⽀支箭寫⼀一次DB • 程式掛了,但DB還活著 101 13年1月13⽇日星期⽇日 101
102.
友善的授權條款(MIT)
102 13年1月13⽇日星期⽇日 102
103.
完整的現代化RDBMS功能
(View/Trigger/Stored Procedure) 103 13年1月13⽇日星期⽇日 103
104.
Transactional DDL
(ALTER TABLE等可rollback,MySQL不可) 104 13年1月13⽇日星期⽇日 104
105.
完整字串/加密function
(base64/md5...etc) 105 13年1月13⽇日星期⽇日 105
106.
內建完整全⽂文檢索功能
(中⽂文斷詞可能) 106 13年1月13⽇日星期⽇日 106
107.
Schema Namespace
(適⽤用於Multi-Tenancy架構應⽤用) 107 13年1月13⽇日星期⽇日 107
108.
知名使⽤用機構
• NASA • Instagram • NTT • Skype • IMDB 108 13年1月13⽇日星期⽇日 108
109.
與MySQL⽐比較
(http://goo.gl/uWgil) 109 13年1月13⽇日星期⽇日 109
110.
File System(Linux)
110 13年1月13⽇日星期⽇日 110
111.
EXT家族
• 通⽤用性⼯工具⽀支援 • 多數套件預設使⽤用 • 平衡的效能 • 可容納檔案數⼩小於xfs 111 13年1月13⽇日星期⽇日 111
112.
XFS
• ⾃自成⼀一體的⼯工具體系 • ⾼高檔案承載數 • 需花時間學習⼯工具⽤用法 • 中⽂文資源較少 112 13年1月13⽇日星期⽇日 112
113.
LVM
113 13年1月13⽇日星期⽇日 113
114.
What is LVM?(from⿃鳥哥)
LVM 的全名是 Logical Volume Manager,中⽂文可 以翻譯作邏輯捲軸管理員。之所以稱為『捲 軸』可能是因為可以將 filesystem 像捲軸⼀一樣 伸⻑⾧長或縮短之故吧!LVM 的作法是將幾個實體 的 partitions (或 disk) 透過軟體組合成為⼀一塊看 起來是獨⽴立的⼤大磁碟 (VG) ,然後將這塊⼤大磁 碟再經過分割成為可使⽤用分割槽 (LV), 最終就 能夠掛載使⽤用了。 114 13年1月13⽇日星期⽇日 114
115.
Everyone should use
LVM. 115 13年1月13⽇日星期⽇日 115
116.
分享:Snapshot備份法
(from: 我是ricky⼤大⼤大) 116 13年1月13⽇日星期⽇日 116
117.
流程
1. 停⽌止所有服務 2. make & mount LVM snapshot 3. 啟動所有服務 4. ⽤用snapshot partition的資料進⾏行備份 5. umount & delete snapshot partition 6. 收⼯工 117 13年1月13⽇日星期⽇日 117
118.
Example code
#!/bin/bash ####STOP services##################### /etc/init.d/nginx stop /etc/init.d/php-‐fpm stop /etc/init.d/mongod stop /etc/init.d/mysqld stop ####Make & mount snapshot partition### /sbin/lvcreate -‐l 350 -‐s -‐n DATASNAP /dev/VG1/DATA /bin/mount /dev/VG1/DATASNAP /mnt/DATASNAP ####Start services#################### /etc/init.d/mongod start /etc/init.d/mysqld start /etc/init.d/php-‐fpm start /etc/init.d/nginx start ####Backup Process#################### ..... ####umount & remove partition######### /bin/umount /mnt/DATASNAP /sbin/lvremove -‐f /dev/VG1/DATASNAP 118 13年1月13⽇日星期⽇日 118
119.
優點
• 可適⽤用所有組合 • 停機時間⼩小於10秒 • 可獲得完整分割區備份 119 13年1月13⽇日星期⽇日 119
120.
網路攻擊防範
(別名:⼈人體防⽕火牆訓練養成中⼼心) 120 13年1月13⽇日星期⽇日 120
121.
⾃自建主機最⼤大挑戰
121 13年1月13⽇日星期⽇日 121
122.
攻擊者的⺫⽬目的
• $$$$$ •爽 • 純研究 • 攻擊和網站有關的特定對象 122 13年1月13⽇日星期⽇日 122
123.
概念:資源對資源的
戰爭 123 13年1月13⽇日星期⽇日 123
124.
不會有真正有效的辦法
除⾮非 124 13年1月13⽇日星期⽇日 124
125.
唯⼀一可以確定的是
125 13年1月13⽇日星期⽇日 125
126.
讓攻擊⼿手知道你不好
惹, 要花很多成本攻擊 你, 知難⽽而退 126 13年1月13⽇日星期⽇日 126
127.
攻擊⽅方式分類
• 癱瘓服務 • 針對程式弱點 • 讓系統負載暴衝 • 塞爆頻寬 • SYN_FLOOD • DDOS 127 13年1月13⽇日星期⽇日 127
128.
針對程式弱點的攻擊
• 好發於: • Multi-Tenancy式系統(BSP/FSP...) • 廣泛被⼤大眾使⽤用的系統 • 具有歷史共業的系統 • 完全⾃自製系統通常不會有此問題 • 通常只能⽤用改程式處理 • 短期的防堵也是⼀一種⽅方法 128 13年1月13⽇日星期⽇日 128
129.
塞爆頻寬的攻擊
• 後備頻寬⾮非常重要 • 問題在找出該封堵的IP 129 13年1月13⽇日星期⽇日 129
130.
處理流程
1. 搜尋log檔 2. 建⽴立scan log流程 3. 執⾏行scan log流程,產⽣生問題IP清單 4. 將問題IP加到iptables的封堵清單 5. restart iptables 6. 將3-5變成⾃自動執⾏行 130 13年1月13⽇日星期⽇日 130
131.
scan log⽅方式
• ⽤用tail看log找出怪異之處 • 異常快速增⻑⾧長的request • hostname異常的request • 純ip request • 無agent或奇怪agent的request 131 13年1月13⽇日星期⽇日 131
132.
重導virtualhost
(nginx) server{ server_name _; root /var/www/html; access_log logs/DDOS-‐access.log main; error_log /dev/error.log; return 400; } 132 13年1月13⽇日星期⽇日 132
133.
終極絕招-阻擋國家IP
xt_geoip 133 13年1月13⽇日星期⽇日 133
134.
xt_geoip
• part of xtables-addons • iptables addon • need kernel 2.6+ • http://goo.gl/NoqRh 134 13年1月13⽇日星期⽇日 134
135.
Why xt_geoip
• 攻擊IP(⾁肉雞)幾乎全部來⾃自外國 • 中國佔90% • 東歐國家 • 中東國家 • 簡單⽽而粗暴(但是有效)的⽅方法 • ⼀一⾏行iptables設定封堵⼀一整國 135 13年1月13⽇日星期⽇日 135
136.
好⽤用省錢的服務
136 13年1月13⽇日星期⽇日 136
137.
KDDI CloudCore VPS
137 13年1月13⽇日星期⽇日 137
138.
純iaas,無其它功能
138 13年1月13⽇日星期⽇日 138
139.
難以置信的超低價
139 13年1月13⽇日星期⽇日 139
140.
不⽤用流量計費, 單⼀一規
格(擴充不可) 140 13年1月13⽇日星期⽇日 140
141.
缺乏管理功能與圖表
141 13年1月13⽇日星期⽇日 141
142.
令⼈人安⼼心的ping值(50
出頭) 142 13年1月13⽇日星期⽇日 142
143.
不保證Uptime
(其實很可靠) 143 13年1月13⽇日星期⽇日 143
144.
開發者⽀支援制度
(淚) 144 13年1月13⽇日星期⽇日 144
145.
imgur
145 13年1月13⽇日星期⽇日 145
146.
imgur
• 經實驗證明真正不限流量圖庫 • 限制⽅方式為每⼩小時上傳量 • 具後端上傳的API • 商業使⽤用需付費(條款限制) • 不可思議的低價 146 13年1月13⽇日星期⽇日 146
147.
End
(Any qustion?) 147 13年1月13⽇日星期⽇日 147
148.
題外話
148 13年1月13⽇日星期⽇日 148
149.
公會網正在尋求合作
經營的夥伴 149 13年1月13⽇日星期⽇日 149
150.
番外篇
世⼈人對雲端的誤解 150 13年1月13⽇日星期⽇日 150
151.
以下觀點可能會包含
部份或全部的偏⾒見 (歡迎提出指正或疑問) 151 13年1月13⽇日星期⽇日 151
152.
⼀一般對雲端的認知
1. 雲端⽐比較省錢 2. 雲端⽐比較省⼒力 3. 雲端⽐比較穩定 152 13年1月13⽇日星期⽇日 152
153.
認知⼆二:雲端省⼒力論
由於雲端(尤其是Paas類服務 如Heroku/EngineYard)已經 幫你設定好, 你所做的就是去 開機器或是設定dyno數. 153 13年1月13⽇日星期⽇日 153
154.
等價交換原則
154 13年1月13⽇日星期⽇日 154
155.
等價交換原則
• iaas服務:只是給你⼀一台灌好OS的虛擬機 • Paas服務:給你的越多, 限制的也越多 • 第三⽅方服務:⽤用的越多, 花的$$越多 • ⽣生態圈綁定問題 155 13年1月13⽇日星期⽇日 155
156.
認知三:雲端穩定論
雲端是別⼈人設定好的, 硬體不 會壞掉所以⽐比較穩定. 156 13年1月13⽇日星期⽇日 156
157.
關鍵因素:第三⽅方服務
157 13年1月13⽇日星期⽇日 157
Download now