顯然可以的,要說瓶頸就是你的所在網路的上傳速度和你的主機配置。比較不好的控制一點就是安全設定,把自己電腦放在危險的網際網路上提供對外服務實在讓人不放心,當然不給別人用就自機偶爾當個私人網盤,做做實驗都沒問題的。有錢的話還是在 Linode、DigitalOcean 什麼的買個主機吧!下面為具體過程:以自己的情況為例,使用公網網路(學校提供網路連線和校園網連線):路由:磊科某家用路由,提供“虛擬服務”功能(高階配置頁下),其他類似路由也可以,比如 TP 的(在轉發規則頁下);域名:Godady 購買域名,可以購買任意一家的域名,Godaddy 的比較出名、好用而已;域名解析:DNSPod,解析生效快(當然還要看 TTL),方便,而且 Godaddy 的域名解析貌似易被牆(?);主機:這裡實驗使用個人筆記本,執行 CentOS 6.5 系統。拿到的 IP 是 123.172 開頭的公網 IP,為了測試 80(當然也可以其他埠)埠是否開放,可以使用路由器提供的“WEB 遠端管理”功能:此時我們使用路由器獲得網路 IP 就可以測試我們的 80 埠是否開放了:OK,能用 80 埠玩那別的埠一般也沒問題,如果不能…… 請換埠或聯絡運營商…… 因為一些原因,目前很多地區都不會像我這麼順利……省掉 Godaddy 的域名購買和 DNS 選擇的過程,直接跳到 DNSPod 的設定頁,我們只需要新增一個 A 記錄,主機記錄自己隨便寫,記錄值指向我們的公網地址:稍等片刻一般就可以透過這個域名訪問了:到現在都是在訪問路由設定頁面,下面我們來把訪問頁面變成自己電腦上的頁面。首先在虛擬服務裡增加規則,我這裡將外部從80埠的訪問轉到本機8000埠上:OK,下面你就可以開個 Django 什麼的 Web 程式了,這裡我為了簡單,用 python -m SimpleHTTPServer 代替,注意修改相關的 iptables 規則,下面是透過域名訪問的樣子:到此基本結束,類似的,題主可以搜搜 如何在樹莓派上搭建一個網站(友情提示,效果還不錯) 什麼的,畢竟個人電腦,尤其臺式什麼的略費電……再補充一點,以我所在環境為例,晚上是斷電的…… 恩,所以24小時服務基本就拜拜了,或者UPS+樹莓派?或許能撐下來,但是,人生已經如此艱難,何必呢……但是即使不考慮持久服務,每天換IP我自己記不住,難道還得手動去解析記錄改?額,這時 DNSPod 就派上用場了,首先我們需要一個指令碼(Python2,其實Shell什麼的也可以,此外requests庫是第三方庫,非必須)檢查我們今天獲得 IP:
顯然可以的,要說瓶頸就是你的所在網路的上傳速度和你的主機配置。比較不好的控制一點就是安全設定,把自己電腦放在危險的網際網路上提供對外服務實在讓人不放心,當然不給別人用就自機偶爾當個私人網盤,做做實驗都沒問題的。有錢的話還是在 Linode、DigitalOcean 什麼的買個主機吧!下面為具體過程:以自己的情況為例,使用公網網路(學校提供網路連線和校園網連線):路由:磊科某家用路由,提供“虛擬服務”功能(高階配置頁下),其他類似路由也可以,比如 TP 的(在轉發規則頁下);域名:Godady 購買域名,可以購買任意一家的域名,Godaddy 的比較出名、好用而已;域名解析:DNSPod,解析生效快(當然還要看 TTL),方便,而且 Godaddy 的域名解析貌似易被牆(?);主機:這裡實驗使用個人筆記本,執行 CentOS 6.5 系統。拿到的 IP 是 123.172 開頭的公網 IP,為了測試 80(當然也可以其他埠)埠是否開放,可以使用路由器提供的“WEB 遠端管理”功能:此時我們使用路由器獲得網路 IP 就可以測試我們的 80 埠是否開放了:OK,能用 80 埠玩那別的埠一般也沒問題,如果不能…… 請換埠或聯絡運營商…… 因為一些原因,目前很多地區都不會像我這麼順利……省掉 Godaddy 的域名購買和 DNS 選擇的過程,直接跳到 DNSPod 的設定頁,我們只需要新增一個 A 記錄,主機記錄自己隨便寫,記錄值指向我們的公網地址:稍等片刻一般就可以透過這個域名訪問了:到現在都是在訪問路由設定頁面,下面我們來把訪問頁面變成自己電腦上的頁面。首先在虛擬服務裡增加規則,我這裡將外部從80埠的訪問轉到本機8000埠上:OK,下面你就可以開個 Django 什麼的 Web 程式了,這裡我為了簡單,用 python -m SimpleHTTPServer 代替,注意修改相關的 iptables 規則,下面是透過域名訪問的樣子:到此基本結束,類似的,題主可以搜搜 如何在樹莓派上搭建一個網站(友情提示,效果還不錯) 什麼的,畢竟個人電腦,尤其臺式什麼的略費電……再補充一點,以我所在環境為例,晚上是斷電的…… 恩,所以24小時服務基本就拜拜了,或者UPS+樹莓派?或許能撐下來,但是,人生已經如此艱難,何必呢……但是即使不考慮持久服務,每天換IP我自己記不住,難道還得手動去解析記錄改?額,這時 DNSPod 就派上用場了,首先我們需要一個指令碼(Python2,其實Shell什麼的也可以,此外requests庫是第三方庫,非必須)檢查我們今天獲得 IP:
有了外部IP我們就可以考慮在DNSPod上做修改了,先獲得域名的domain_id(吐槽下為什麼在後臺不能直接查):有了 domain_id 就可以查改記錄了,先獲取我們需要的 record_id(繼續吐槽下為什麼在後臺不能直接查):然後我們就可以修改 record_value 了(前邊都是前戲,其實就這句話是有用的):輸出的 code 為1就說明指令碼執行正常,更詳細的 API 指南見官方文件:DNSPod使用者API文件