在工作和生活中淑掌,我們每個(gè)人都有大量的照片顶捷、電子書籍、設(shè)計(jì)素材翰蠢、源代碼等等資料需要去保存项乒,幾乎每個(gè)人都有過至少一次丟失永遠(yuǎn)無法找回的痛苦記錄,同時(shí)這些資料中大部分都跟個(gè)人隱私相關(guān)梁沧,對(duì)互聯(lián)網(wǎng)提供的公有云存儲(chǔ)服務(wù)檀何,我們?cè)絹碓經(jīng)]有信心,隨著各種云盤的關(guān)閉,我們都在考慮能否自己來妥善管理好自己的全部資料频鉴,再也不用擔(dān)心個(gè)人隱私的泄露栓辜。以下介紹我正在使用的一套私有云服務(wù)供大家參考。
寬帶速度支持
目前家庭百兆寬帶都已經(jīng)普及垛孔,通過在線訪問 https://speedtest.net 站點(diǎn)測試能得到上下行速度一般都能達(dá)到上行 5M藕甩,下行 100M 以上,這個(gè)上行速度實(shí)際上比云服務(wù)商提供的基礎(chǔ)版本云主機(jī)的 2M 要大2倍以上周荐,所以將服務(wù)放在家庭內(nèi)網(wǎng)中通過外網(wǎng)訪問速度完全能滿足要求辛萍。
安裝服務(wù)器
一聽到服務(wù)器,總感覺很大羡藐,很耗電,很吵悯许。這個(gè)是對(duì)商用服務(wù)器的印象仆嗦,我們家庭使用的只需要一臺(tái)小型電腦就可以。比如推薦 Intel 的 NUC 系列(樹莓派的性能還是有點(diǎn)低先壕,多個(gè)服務(wù)跑起來吃力)瘩扼,體積小,沒有聲音垃僚,耗電底(根據(jù)我的測試集绰,一年不停運(yùn)轉(zhuǎn)的電費(fèi)為:0.040kw × 24h × 365d × 0.5 元 = 175.20 元),推薦安裝 linux 操作系統(tǒng)(ubuntu 16.04)谆棺,無需顯示器栽燕,遠(yuǎn)程接入各種操作。安裝完成后需要設(shè)置好固定的內(nèi)網(wǎng) IP 地址改淑,有兩種方法:一是直接設(shè)置靜態(tài) IP 地址碍岔,另一個(gè)是在路由器上使用地址保留,服務(wù)器如下圖:
在路由器上設(shè)置 DMZ
服務(wù)器安裝完成后朵夏,我們的服務(wù)器通過外網(wǎng)是無法訪問的蔼啦,因?yàn)榉?wù)器的 IP 地址是內(nèi)網(wǎng) IP ,DMZ 主機(jī)能將所有路由器上分配到的公網(wǎng) IP 地址所有流量轉(zhuǎn)發(fā)到內(nèi)網(wǎng)服務(wù)器上仰猖,這樣我們只要訪問路由器上得到的公網(wǎng)IP地址捏肢,就是直接訪問內(nèi)網(wǎng)的服務(wù)器了。
在路由器上設(shè)置 DDNS 服務(wù)
至此我們可以通過路由器的公網(wǎng) IP 來訪問我們自己的服務(wù)器上的服務(wù)了饥侵,但是因?yàn)榧彝拵]有固定公網(wǎng) IP鸵赫,每次撥號(hào)后都會(huì)改變,我們總不能每次都記住這些 IP爆捞,所以我們就需要一個(gè)動(dòng)態(tài)域名服務(wù)來做這件事奉瘤,只要路由器公網(wǎng)IP變了,就把新IP發(fā)到 DDNS 服務(wù)商,服務(wù)商來負(fù)責(zé)解析盗温,DDNS 服務(wù)一般集成到了路由器內(nèi)部藕赞,比如我這臺(tái)網(wǎng)件的 Nightawk R7000 路由器就內(nèi)置了 www.3322.org, NOIP.com 等 DDNS 服務(wù),在國內(nèi)使用第一個(gè)解析速度和聯(lián)通性比較靠譜卖局,以下以公云DDNS服務(wù) 為例來說明如何設(shè)置斧蜕。完成后,路由器就會(huì)在公網(wǎng) IP 變更后自動(dòng)將新的 IP 地址發(fā)送給服務(wù)商砚偶,這樣你注冊(cè)的這個(gè)域名就會(huì)時(shí)刻跟你個(gè)人寬帶路由器獲得的最新公網(wǎng) IP 進(jìn)行綁定批销。使用 ping 命令就可以看到你的公網(wǎng) IP。現(xiàn)在使用這個(gè)域名就可以訪問到內(nèi)部服務(wù)了染坯。
- 到 http://www.pubyun.com 注冊(cè)一個(gè)賬號(hào)并登錄
- 創(chuàng)建一個(gè)動(dòng)態(tài)域名均芽,免費(fèi)用戶只能注冊(cè)一個(gè)
- 將你的域名,用戶名单鹿,密碼填寫到路由器上的 DDNS 設(shè)置頁面上保存
注冊(cè)個(gè)人域名(可選)
DDNS 服務(wù)商注冊(cè)的這個(gè)域名的后綴都是服務(wù)商提供的掀宋,不是你個(gè)人的域名,不太友好也不便于記憶仲锄,一般我們會(huì)有自己的個(gè)人域名劲妙,我們可以通過在域名注冊(cè)服務(wù)商(騰訊云、阿里云萬網(wǎng))注冊(cè)好一個(gè)個(gè)人域名(一般年費(fèi)大概100.00左右)同時(shí)在域名解析管理中添加一條 cname 解析記錄來轉(zhuǎn)換儒喊,如下圖镣奋,我將:home.freemanke.com 域名通過 cname 解析到 freemanke.f3322.net 上,這樣以后我就不用記錄這個(gè) fremanke.f3322.net 域名怀愧,只需要使用我自己的域名侨颈。
安裝部署私有云服務(wù)
- 私有云盤服務(wù) Seafile,百度云芯义、dropbox等公有云有的功能都有而且更加強(qiáng)大和方便肛搬。很多大學(xué)機(jī)構(gòu),科研院所都在使用該套文件管理系統(tǒng)毕贼。
image.png
至此我們的私有云服務(wù)上的所有服務(wù)都可以通過自己的域名來實(shí)現(xiàn)訪問温赔,但是因?yàn)楦鱾€(gè)運(yùn)營商對(duì) 80 和 443 端口的屏蔽,我們需要使用自定義端口來暴露我們的 web 等服務(wù)才能訪問鬼癣。這個(gè)推薦大家在個(gè)人服務(wù)器上使用 nginx 服務(wù)器來做反向代理將所有的服務(wù)使用 1024 以上的端口暴露到公網(wǎng)陶贼。
比如:
####################################################################
## seafile service
## https://home.freemanke.com:28000
server {
listen 28000;
server_name home.freemanke.com;
ssl on;
ssl_certificate /home/freeman/home.freemanke.com/ssl/home.freemanke.com.crt;
ssl_certificate_key /home/freeman/home.freemanke.com/ssl/home.freemanke.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
client_max_body_size 1000M;
location / {
proxy_pass http://127.0.0.1:8000/;
proxy_redirect default;
}
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s;
}
location /media {
root /home/freeman/haiwen/seafile-server-latest/seahub;
}
}