家裡閒置筆記本有兩三臺了,放著也是放著,直接全部重灌了centos,廢物再利用。方便了平時開發需要的伺服器環境,還省去了購買阿里雲的大筆費用,一舉多得!
前提條件
如何實現在家裡搭建伺服器呢?首先需要具備幾個前提條件,如下:
一、打電話給運營商開通公網環境,此處所說的公網並不是固定IP的專線(專線太貴白嫖黨用不起)。不過現在公網環境據說IP緊張,不一定能申請下來。得多打電話多跟客服溝通。
二、需要註冊一個域名,不想花錢可以用花生殼的。想穩定一點推薦阿里的域名,價格也不貴一年幾十塊錢。域名用於動態綁定當前伺服器的公網IP,防止IP變化後找不到伺服器。
三、路由器一個,小米、TP均可。能夠配置DMZ主機,或者埠轉發即可。用於將伺服器上的埠對映到公網上。
滿足以上三個條件,恭喜你!我們就可以在家搭建伺服器愉快地玩耍了。
服務搭建
伺服器搭建步驟,如下:(伺服器操作樣例為centos7,路由器為小米路由器)
- 上網設定
路由器設定為橋接模式,接入運營商光貓。使用路由器撥號上網。(現在很多家裡的寬頻都是使用光貓自動撥號,需要改成路由器撥號,否則公網訪問不到),如果家裡是光貓自動撥號而且不知道撥號密碼的,可以聯絡運營商上門修改。
- 伺服器系統安裝
將我們的電腦重灌成Linux系統(其實windows也行),推薦安裝CentOS7,安裝步驟就不多贅述,網上案例挺多。
- 伺服器區域網IP設定
vi /etc/sysconfig/network-scripts/ifcfg-enp0s25 (ifcfg檔名稱各系統有可能不相同)
- 伺服器ssh遠端登入設定
vi /etc/ssh/sshd_config 修改SSH配置資訊
設定允許密碼登入
PasswordAuthentication yes
- 防火牆開放
firewall-cmd --zone=public --add-port=22/tcp --permanent # 開放ssh 22埠
firewall-cmd --reload # 配置立即生效
- 埠對映
在路由器中設定內部埠對外部埠的對映,透過公網訪問時使用外部埠
將ssh 22埠透過路由器對映到12222,透過公網ip:12222埠測試ssh是否能夠正常訪問(公網IP可以透過百度搜索ip查詢獲取),能正常訪問恭喜你伺服器已經搭建成功,可以在外面任何地方訪問家裡的伺服器。
- 動態域名繫結(需要動態繫結原始碼地址可以留言)
由於白嫖的公網IP會經常變動,所有需要透過一個固定的域名來動態繫結伺服器上的公網IP,以此達到無論何時何地都能找到自己伺服器的目的。
1、如果你註冊阿里的域名如何進行繫結呢?我開發了一個小程式,只需要在伺服器上配置一個定時排程任務,定時重新整理即可。
下載auto-ddns.tar.gz
在伺服器root目錄下 執行tar -zxvf auto-ddns.tar.gz解壓
修改ali.properties,domain.properties配置為自己相關配置即可
執行.startup.sh即可
2、如果你使用的花生殼域名,可以透過指令碼來繫結域名
vi checkIp.sh #編輯指令碼
按i進行編輯,複製下面內容到shell檔案中
#! /bin/bash
export lastip=$(cat myip)
export gongip=$(curl members.3322.org/dyndns/getip)
if [[ $lastip != $gongip ]];then
echo $gongip > myip
/usr/bin/curl http://***:****@ddns.oray.com/ph/update?hostname=****
fi
儲存檔案,輸入下面的命令
:wq
指令碼賦許可權
chmod +x checkIp.sh
配置定時執行指令碼
crontab -e
新增下面的定時任務
*/5 * * * * /root/auto-ddns/checkIp.sh
儲存
:wq
完成上面的操作我們就可以愉快地使用家裡的伺服器了。