干貨來了,分享一個自己用廢棄筆記本制作服務器的過程。家里閑置了一臺讀書時候使用的筆記,已經(jīng)很多年沒有用過了,4G內(nèi)存也不好用,扔掉又覺得可惜,賣也賣不掉,突然想到拿來制作一臺服務器使用看行不行。
筆記本還是win7系統(tǒng),要制作成linux系統(tǒng)來當作服務器更好使用
一. 安裝linux系統(tǒng)
要安裝系統(tǒng)我們可以使用u盤來制作一個系統(tǒng)啟動盤
我使用的是Rufus - 輕松創(chuàng)建 USB 啟動盤?這個工具制作啟動盤
?
如果看文章的你此時已經(jīng)無法訪問這個網(wǎng)站了,我將下載好的工具包放到了csdn上你可以下載使用,或是去搜一下其他的工具。
?
地址:https://download.csdn.net/download/weixin_40754174/87760888
這個工具無需安裝,雙擊即可使用
首先我們需要去下載linux系統(tǒng)鏡像,我這里選擇使用centos7的鏡像,大家可以選擇自己需要的系統(tǒng)鏡像,不過安裝過程可能有差別。
?
插入u盤,打開rufus軟件
選擇鏡像文件->其他參數(shù)可以默認->點擊開始
?
其他提示默認即可
?
開始制作:復制文件的過程比較久
?
復制完畢后關閉即可
?
u盤啟動盤就制作好了,然后就可以把u盤插到我的舊筆記本上,啟動電腦進入bios模式,每個品牌的電腦進去bios模式可能不一樣,我這里是在啟動界面按F2進入,進入后移動到boot頁面
回車進入啟動順序調(diào)整頁面
選擇啟動系統(tǒng)盤順序,把u盤的選項放到前面,按F10保存重啟即可進入u盤啟動頁面。
?
?
選擇 Install CentOS 7 回車 安裝開始
?
輸出一大堆之后,進入系統(tǒng)配置頁面,選擇語言
?
然后選擇要安裝的系統(tǒng)磁盤
?
這里選擇磁盤,第一個是u盤別選錯了
提示磁盤空間不足,點擊Reclaim space回收空間
刪除全部
回到安裝頁面,點擊開始安裝
安裝過程中,我們可以設置一下用戶密碼,這里我設置一下root用戶密碼即可
然后就等待安裝完成。
二. 網(wǎng)絡設置
安裝完成后無法連接網(wǎng)絡,在網(wǎng)上搜索各種解決方案,大概意思就是需要安裝無線網(wǎng)卡、配置無線網(wǎng)卡,沒有過多去研究這個,因為要用來做服務器,直接插網(wǎng)線會比較穩(wěn)定,插入網(wǎng)線后可以正常上網(wǎng)。
如果你還是無法上網(wǎng),通過ip addr命令可以查看有哪些網(wǎng)卡地址
我的是叫enp3s0,如果statue狀態(tài)是DOWN的話,你可以輸入ifup enp3s0 啟動網(wǎng)卡。
你的網(wǎng)卡不會是這個名字,你可以根據(jù)ip地址192.168.xx.xx判斷哪個是你聯(lián)網(wǎng)線的地址。
進入/etc/sysconfig/network-scripts/ 目錄下可以看到你的網(wǎng)卡配置文件
?
是以ifcfg-開頭的配置文件
輸入命令 vi ifcfg-enp3s0 ???編輯該配置文件,如圖:
BOOTPROTO = static 表示靜態(tài)ip,默認是動態(tài)的,你的電腦連上路由器后每次會動態(tài)分配ip地址,我們要做服務器肯定需要把ip固定下來,所以這里需要設置為靜態(tài)ip
GATEWAY 是網(wǎng)關地址,需要登錄路由器管理頁面進行設置,在系統(tǒng)設置->局域網(wǎng)設置里面,路由器不同有些許不同,但目的就是設置一下路由器的ip,以及設置局域網(wǎng)內(nèi)的ip地址范圍:
?
IPADDR設置的地址需要在上圖的ip地址分配范圍內(nèi)。
DNS可以設置多個,需要設置DNS才能上網(wǎng),8.8.8.8是谷歌提供的DNS服務器
ONBOOT 表示開機啟動該網(wǎng)卡。
這樣就可以正常上網(wǎng),且每次開機都是一個固定的局域網(wǎng)內(nèi)ip地址了,現(xiàn)在你在局域網(wǎng)內(nèi)就可以通過192.168.7.77來訪問這臺電腦。
三. 如何遠程連接服務器
這里推薦使用FinalShell這個連接工具,比較好用。
?
?
你可能輸入ip和端口卻無法連接,不用慌,那是因為防火墻。
查看防火墻狀態(tài): systemctl status firewalld.service
?
綠色的running表示防火墻開啟。
如果你不考慮其他安全問題,你可以直接關閉防火墻就能連接了。
關閉防火墻: systemctl stop firewalld.service
再次執(zhí)行查看防火墻命令:systemctl status firewalld.service
執(zhí)行開機禁用防火墻自啟命令? : systemctl disable firewalld.service
但是建議大家還是開啟防火墻,這是一道網(wǎng)絡保護,因為我們后面還有映射到公網(wǎng)上去。
開啟防火墻狀態(tài)下就需要配置防火墻規(guī)則,添加可以訪問的端口。
開放指定端口
firewall-cmd --zone=public --add-port=22/tcp --permanent
命令含義:
--zone #作用域
--add-port=22/tcp #添加端口,格式為:端口/通訊協(xié)議
--permanent #永久生效,沒有此參數(shù)重啟后失效
重啟防火墻 (添加端口后必須重啟,不然你還是訪問不了)
firewall-cmd --reload
刪除端口 (刪除的命令也寫下來,如果添加錯誤了可以刪除)
firewall-cmd --zone=public --remove-port=xxx/tcp --permanent
查看開啟的端口: firewall-cmd --zone=public --list-ports
?
四. 如何在外網(wǎng)訪問服務器
上面我們已經(jīng)能夠在局域網(wǎng)內(nèi)訪問自己的服務器了,但是還無法在外網(wǎng)訪問,等于說你只能在你家里使用,而且部署了應用也只能在家里訪問,那有什么意義呢,所以下面教大家如何拐個彎使用外網(wǎng)也能訪問到,而且不需要你去搞比較貴的類似花生殼之類的內(nèi)網(wǎng)穿透工具,而且還有流量限制,也不需要拉專線固定ip地址。
首先,我們需要寬帶分配的ip地址是公網(wǎng)ip地址,因為現(xiàn)在很多寬帶都是給的虛擬ip地址,虛擬ip是無法訪問到的,電信寬帶是可以打10000號要求客服修改為公網(wǎng)ip,我家里是用的電信,不知道其他運營商能不能給公網(wǎng)ip。
怎么看是否是公網(wǎng)ip呢,直接打開百度搜索ip,這個ip就是公網(wǎng)ip地址
?
再打開路由器管理頁面查看WAN口ip
?
如果WAN口ip與百度搜索的公網(wǎng)ip地址一樣,你的寬帶分配的就是公網(wǎng)ip,否則就是虛擬ip。
有了公網(wǎng)ip后,我們需要設置內(nèi)外網(wǎng)端口映射,進入寬帶管理頁面,將虛擬服務器中添加端口映射就可以了,比如你需要ssh到服務器上, 你就將外網(wǎng)端口22映射到你的這臺電腦ip上的22端口即可。
我的路由器配置截圖:
?
這樣配置了后,就可以在外網(wǎng)通過公網(wǎng)ip地址進行ssh(22端口)連接了,我這里還配置了其他端口8000用于web服務,3306用于mysql數(shù)據(jù)庫。
如圖:用公網(wǎng)ip地址連接
?
但是普通寬帶的公網(wǎng)ip地址是動態(tài)變化的,一段時間后即使你沒有重啟路由器他還是會變化,只有專線寬帶的ip才是固定的,這樣一旦ip地址變化了我們就無法連接和訪問了,網(wǎng)上有很多內(nèi)網(wǎng)穿透工具,比如收費的花生殼,還有免費的ngork,frp等等,大家都可以去試試,我用了ngork,之前也用過花生殼,但都覺得不爽,免費的不穩(wěn)定,收費的又太貴。于是我想到一個方法,利用阿里云域名做自動的ddns解析。
五. 阿里云域名動態(tài)ddns
首先去阿里云買一個域名,可以買個便宜后綴的,比如.top
進入阿里云域名購買,輸入你想要注冊的域名
?
我買了個.top的域名,直接買了10年,才188。
?
買域名需要實名認證,然后才能解析,進入解析頁面
?
添加一條記錄,映射到你當前的ip地址,等解析正常了就可以用這個域名去訪問你的服務器了。
如圖:
?
也就是說,我們只要能實現(xiàn),當ip地址變化后,能自己將變化后的ip地址解析到這個域名上,那我們就可以使用域名來訪問服務器,使用域名來訪問我們部署的服務頁面等等。
正好,阿里云提供了這個接口來進行域名解析修改
文檔地址:如何調(diào)用UpdateDomainRecord根據(jù)傳入?yún)?shù)修改解析記錄_云解析DNS-阿里云幫助中心
?
所以思路就是: 寫一個程序放在我們的服務器上,定時去獲取公網(wǎng)ip地址(時間間隔根據(jù)你自己需要來設定,經(jīng)過我這幾天的觀察,其實公網(wǎng)ip地址變化頻率并不高,有可能幾天都不變化一次,也有幾小時就變化一次的情況), 我設置了個5分鐘的定時任務去獲取公網(wǎng)ip地址,然后通過調(diào)用阿里云的api接口修改域名解析。
我這里使用的是java來開發(fā)定時任務。
關鍵代碼如下:
public void refreshDdns(String currentIp) throws Exception {
????// 獲取解析記錄
????DescribeDomainRecordsResponseBody.DescribeDomainRecordsResponseBodyDomainRecordsRecord domainDnsRecord = this.getDomainDnsRecord();
????String currentDdnsIp = "";
????currentDdnsIp = domainDnsRecord.value;
????if (!currentDdnsIp.equals(currentIp)){
????????// 刷新解析記錄
????????this.updateDomainDnsRecord(domainDnsRecord,currentIp);
????} else {
????????logger.info("無需修改解析記錄,當前IP:{}",currentIp);
????}
}文章來源:http://www.zghlxwxcb.cn/news/detail-515866.html
private DescribeDomainRecordsResponseBody.DescribeDomainRecordsResponseBodyDomainRecordsRecord getDomainDnsRecord() throws Exception {
????DescribeDomainRecordsRequest describeDomainRecordsRequest = new DescribeDomainRecordsRequest()
????????????.setDomainName(domain);
????// 獲取記錄詳情
????DescribeDomainRecordsResponse domainRecordsResponse = client.describeDomainRecords(describeDomainRecordsRequest);
????List<DescribeDomainRecordsResponseBody.DescribeDomainRecordsResponseBodyDomainRecordsRecord> records = domainRecordsResponse.getBody().getDomainRecords().getRecord();
????DescribeDomainRecordsResponseBody.DescribeDomainRecordsResponseBodyDomainRecordsRecord record = records.get(0);
????logger.info("獲取解析記錄:{}", JSON.toJSONString(record));
????return record;
}
private void updateDomainDnsRecord(DescribeDomainRecordsResponseBody.DescribeDomainRecordsResponseBodyDomainRecordsRecord domainDnsRecord,String newIp) throws Exception {
????// 修改記錄
????UpdateDomainRecordRequest updateDomainRecordRequest = new UpdateDomainRecordRequest()
????????????.setRecordId(domainDnsRecord.getRecordId())
????????????.setRR(domainDnsRecord.getRR())
????????????.setType(domainDnsRecord.getType())
????????????.setValue(newIp);
????// 修改記錄
????UpdateDomainRecordResponse updateDomainRecordResponse = client.updateDomainRecord(updateDomainRecordRequest);
????logger.info("修改解析結(jié)果:{}",JSON.toJSONString(updateDomainRecordResponse));
}
運行下來結(jié)果很滿意,能在外網(wǎng)隨時訪問到家里的服務器和應用。文章來源地址http://www.zghlxwxcb.cn/news/detail-515866.html
到了這里,關于如何使用閑置電腦制作服務器并且外網(wǎng)可訪問的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!