舊電腦變廢為寶!
好了,正文開始。
前段時(shí)間阿里云搞活動(dòng),于是就買了一臺(tái) ESC 云服務(wù)器,作為自己的平時(shí)學(xué)習(xí)各種技術(shù)和項(xiàng)目部署的機(jī)器。
但是隨著項(xiàng)目和技術(shù)的更新,一些技術(shù)是需要安裝相關(guān)的服務(wù),比如緩存服務(wù) redis、數(shù)據(jù)庫(kù)mysql、消息隊(duì)列 kafka、Web服務(wù) nginx(openresty)、分布式協(xié)調(diào)服務(wù) zookkeeper、分布式搜索服務(wù) elasticsearch、大數(shù)據(jù)相關(guān)實(shí)時(shí)流計(jì)算服務(wù) storm 以及自己項(xiàng)目部署等等等的一系列的服務(wù),它們都是需要安裝與部署。
然而服務(wù)的安裝部署是需要內(nèi)存的!本人買的 ESC 機(jī)器的內(nèi)存很小,只有 2G(因?yàn)楦F(^_^)買不起高配置的機(jī)器)!顯然 2G 的內(nèi)存是不夠的。
需求
既然云服務(wù)器的內(nèi)存不夠了,那就加再機(jī)器吧!再買一臺(tái)云服務(wù)?算了再買的話沒有優(yōu)惠不劃算(還是因?yàn)楦F)!
想了想家里還有一臺(tái)大學(xué)時(shí)期的聯(lián)想筆記本(z485),那就用它吧!
這臺(tái)電腦到現(xiàn)有有 9 年的時(shí)間了,算是個(gè)老古董。工作之后我對(duì)它進(jìn)行配置進(jìn)行了升級(jí),在原來(lái)的 4G 內(nèi)存基礎(chǔ)上再加了 4G 內(nèi)存,在 500G 的機(jī)械硬盤基礎(chǔ)上加了一個(gè) 128G 的固態(tài)硬盤,這些配置當(dāng)個(gè)平時(shí)用的服務(wù)器應(yīng)該還行吧!
因?yàn)閷?duì) CentOS 發(fā)行版比較熟悉,所以我準(zhǔn)備把這臺(tái)筆記本裝個(gè) CentOS 發(fā)行版的 Linux 操作系統(tǒng),然后安裝 docker 程序,在它上啟動(dòng)各種所需要的服務(wù)!
那廢話不多說(shuō),咱們開干!
Linux 發(fā)行版介紹
注意,Linux 的發(fā)行版有很多,根據(jù)軟件包管理系統(tǒng)的不同分為兩類:基于Dpkg (Debian系)和基于RPM (Red Hat系)。具體參見 https://zh.wikipedia.org/wiki/Linux%E5%8F%91%E8%A1%8C%E7%89%88
這兩個(gè)派系,其中都包含商業(yè)發(fā)行版和社群發(fā)行版。
基于Dpkg (Debian系):
- 商業(yè)發(fā)行版:Ubuntu,一個(gè)非常流行的桌面發(fā)行版,由Canonical維護(hù)。
- 社群發(fā)行版:
- Debian,一個(gè)強(qiáng)烈信奉自由軟件,并由志愿者維護(hù)的系統(tǒng)。
- Kubuntu, 使用KDE桌面的Ubuntu。
- Linux Mint,使用Cinnamon桌面系統(tǒng)的Ubuntu派生版。
- Knoppix,第一個(gè)Live CD發(fā)行版,可以從可移動(dòng)介質(zhì)運(yùn)行,Debian的派生版。
- OpenGEU,Ubuntu的派生版。
- Elementary OS:基于Ubuntu,圖形界面酷似Mac OS X。
- gOS和其他上網(wǎng)本用的系統(tǒng)。
基于RPM (Red Hat系):
- 商業(yè)發(fā)行版
- 社群發(fā)行版
基于其他包格式
- ArchLinux,一個(gè)基于KISS(Keep It Simple and Stupid)的滾動(dòng)更新的操作系統(tǒng)。
- Chakra,一個(gè)從ArchLinux派生出來(lái),只使用KDE桌面的半滾動(dòng)更新發(fā)行版。
- Gentoo,一個(gè)面向高級(jí)用戶的發(fā)行版,所有軟件的源代碼需要自行編譯。
- Slackware,最早的發(fā)行版之一,1993年創(chuàng)建,由Patrick J. Volkerding維護(hù)。
方案
方案一:直接安裝 CentOS 7.8 版本的 Linux 系統(tǒng)
因?yàn)楣P記本比較老,所以就沒有采用 UEFI 模式啟動(dòng),并且將兩個(gè)磁盤采用傳統(tǒng)的 MBR 分區(qū)表方式進(jìn)行分區(qū),并且做格式化操作。計(jì)劃在 128G 的固態(tài)硬盤上裝入系統(tǒng),500G 的機(jī)械硬盤存儲(chǔ)數(shù)據(jù)。
與是開始下載 CentOS 7 的鏡像(我選擇了在國(guó)內(nèi)阿里云鏡像上下載 CentOs7 鏡像),準(zhǔn)備好一個(gè) 8G 的 u 盤,通過(guò)軟通牒軟件將 CentOS 7.8 的鏡像寫入 U 盤。然后開始重啟電腦進(jìn)行安裝。
但是!出現(xiàn)了一個(gè)問題, 安裝時(shí)進(jìn)入到 CentOS 7 的安裝畫面,選擇第一步安裝,然后就黑屏,屏幕左上角有一個(gè)下劃線光標(biāo)在閃爍,然后就沒有然后了。上網(wǎng)找各種文章,大部分都是說(shuō) U 的盤符名稱與進(jìn)行安裝時(shí)選擇的盤符名稱不一致導(dǎo)致的,需要在進(jìn)入安裝界面時(shí)通過(guò)鍵入 e(UEFI 啟動(dòng)模式) 或者 tab(傳統(tǒng)啟動(dòng)模式),然后修改出現(xiàn)的中一行命令中的參數(shù)變量值,修改為你的 U 盤的真正名稱。
但是!修改了完了還是不好使...于是繼續(xù)找資料繼續(xù)瞎折騰了大半天的時(shí)間。
最后無(wú)果。放棄安裝 CentOS 7.8。
參考資料:
方案二:降級(jí)安裝 CentOS 5.5 版本的 Linux 系統(tǒng)
既然 CentOS 7.8 版本不能夠安裝,那我就降低版本,使用 CentOS 5.5 版本來(lái)繼續(xù)安裝!
于是又開始把 CentOS 5.5 通過(guò)軟通牒軟件寫入 U 盤,繼續(xù)開始裝!
重啟機(jī)器,設(shè)置 U 盤啟動(dòng),選擇第一個(gè)選項(xiàng)安裝,OK!終于到了安裝界面(內(nèi)心有點(diǎn)小驚喜)!不過(guò),接下里就有失望了,根據(jù)提示選擇安裝語(yǔ)言,下一步選擇鍵盤,再下來(lái)出現(xiàn)選擇鏡像所在的盤?顯示有 /dev/sda、/dev/sb1、/dev/sdb2、/dev/sdb3、/dev/sdb4 這些盤符,挨個(gè)選擇之后。然后繼續(xù)上網(wǎng)找資料,說(shuō)是要把安裝 CentOS 5.5 的 ISO 鏡像放到某個(gè)盤的根目錄去,照著做了后,繼續(xù)安裝,選擇鏡像磁盤,還是不行。繼續(xù)放棄了。
參考資料:
官方強(qiáng)烈建議不要安裝 CentOS 6.5 以下的版本。
方案三:采用安裝 win10 操作系統(tǒng)并裝入 Linux 子系統(tǒng)
既然無(wú)法直接安裝 CentOS 系統(tǒng),那我就通過(guò)利用window10 的 Linux子系統(tǒng)以及花生殼內(nèi)網(wǎng)穿透工具,搭建一臺(tái)Linux。
那就開始搞了。
這里也可以使用虛擬機(jī)來(lái)安裝 Linux 系統(tǒng),不過(guò)以前裝過(guò),這次想嘗試下新的技術(shù)裝 Linux。
1. 準(zhǔn)備一個(gè)已經(jīng)通過(guò)大白菜軟件制作好 pe 系統(tǒng)的 u 盤,把 win10 鏡像放入u 盤。
2. 重啟設(shè)置 u 盤啟動(dòng),進(jìn)入到 pe 系統(tǒng),選擇 win10 鏡像把系統(tǒng)安裝到 128G 的固態(tài)硬盤上。
3. 安裝好了之后,重啟電腦,進(jìn)入到 win10 系統(tǒng)開始進(jìn)行初始化配置、安全更新、激活等操作。
4. 開始安裝 Linux 子系統(tǒng)
選擇“開發(fā)者選項(xiàng)”,打開開發(fā)者模式

進(jìn)入“啟用或關(guān)閉Windows功能”設(shè)置 打開適用于linux的Windows子系統(tǒng)

在應(yīng)用商店下載Linux子系統(tǒng): 搜索Linux:

注意如果你的應(yīng)用商店打不開,需要執(zhí)行下面的操作:
- 打開“運(yùn)行”輸入 inetcpl.cpl (“WINDOWS”+“R”鍵,輸入 inetcpl.cpl亦可)
- 點(diǎn)開高級(jí)往下拉,勾上"使用TLS 1.2"選項(xiàng),或者點(diǎn)還原高級(jí)設(shè)置。
選擇想要的版本:

這里我選擇了 Ubuntu 下載安裝。安裝完畢之后,設(shè)置用戶名和密碼。不過(guò)這里需要設(shè)置用戶的用戶名和密碼。設(shè)置完畢之后我們要設(shè)置 root 賬戶的密碼。
5. 進(jìn)入 Ubuntu 系統(tǒng),更新 apt 鏡像源
因?yàn)?Ubuntu 用的軟件管理包的現(xiàn)在安裝工具是 apt 軟件,我們更新它的鏡像源為國(guó)內(nèi)的阿里云鏡像,這樣下載軟件速度會(huì)飛起來(lái)!
備份/etc/apt/sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list-backup
編輯替換為阿里源(Ubuntu)
sudo vim /etc/apt/sources.list
添加以下內(nèi)容
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
更新軟件
sudo apt update
sudo apt upgrade
6. 安裝 openssh 服務(wù),提供遠(yuǎn)程登錄的功能
安裝ssh
sudo apt install ssh
修改sshd配置
# 備份sshd配置文件
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config-bak
# 修改內(nèi)容
Port 22 # 取消注釋
ListenAddress 0.0.0.0 # 取消注釋
#StrictModes yes #加注釋
PasswordAuthentication yes # 允許密碼登錄
啟動(dòng)ssh
sudo service ssh start
如果提示sshd error: could not load host key,執(zhí)行:
sudo rm /etc/ssh/ssh*key
sudo dpkg-reconfigure openssh-server
查看服務(wù)狀態(tài)
sudo service ssh status
# * sshd is running 顯示此內(nèi)容則表示啟動(dòng)正常
不要忘了,配置防火墻開啟端口才能被其他PC訪問
打開 Win10 防火墻設(shè)置,(可以通過(guò)右下角有個(gè)向上的箭頭點(diǎn)擊盾牌快速進(jìn)入面板)Windows Defender 安全中心,點(diǎn)擊下方的高級(jí)設(shè)置

選擇左側(cè)入站規(guī)則 然后點(diǎn)擊右側(cè) 新建規(guī)則

選擇 端口 -> tcp -> 特定端口 -> 填入剛剛設(shè)置的 Port 默認(rèn) 22 -> 允許連接 -> 提交
連接的網(wǎng)絡(luò)根據(jù)你本地的網(wǎng)絡(luò)連接情況選擇,搞不清楚就公用、專用全選好了,端口添加后即可正常訪問了。
如果需要限制服務(wù)器的訪問權(quán)限,如指定局域網(wǎng)或外網(wǎng)可連接的客戶端IP,則看下面:
雙擊剛才添加的入站規(guī)則名稱進(jìn)行配置
選擇作用域選項(xiàng)卡,填寫允許或拒絕的IP即可

這樣 SSH 服務(wù)就配置好了
參考資料:
- 適用于Windows的Linux子系統(tǒng)踩坑記錄(In Update)
- Windows10內(nèi)置Linux子系統(tǒng)初體驗(yàn)
- 開啟win10下Ubuntu子系統(tǒng)的SSH服務(wù)
7. win10 Linux 子系統(tǒng)開機(jī)啟動(dòng)啟動(dòng) ssh 服務(wù)
上面配置了 ssh 服務(wù),不過(guò)注意 win10 重啟后,需要重新bash進(jìn)入子系統(tǒng)手動(dòng)啟動(dòng) ssh 服務(wù)才可以使用。我們通過(guò) win10 的開機(jī)自動(dòng)啟動(dòng)服務(wù)執(zhí)行腳本來(lái)讓 Linux 子系統(tǒng)啟動(dòng) ssh 服務(wù)。
1、關(guān)閉 sudo 輸入密碼的限制,更改 /etc/sudoers 文件內(nèi)容,加入 %sudo ALL=NOPASSWD: /etc/init.d/ssh
sudo vim /etc/sudoers
# 添加內(nèi)容
%sudo ALL=NOPASSWD: /etc/init.d/ssh
2、在 windows 下創(chuàng)建 Ubuntu_ssh_start.vbs 腳本,放置在 C:\Users\用戶名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 目錄,以 ubuntu18.04 為例。如果你安裝的是 ubuntu16.04,更改 vbs 腳本中的 ubuntu1804 為 ubuntu1604 即可,我這邊裝入的就是默認(rèn)的 Ubuntu,所以直接執(zhí)行 ubuntu 就可以。 腳本內(nèi)容:
Set ws = WScript.CreateObject("WScript.Shell")
ws.run "ubuntu run sudo /etc/init.d/ssh restart", vbhide
參考資料
8. Win10系統(tǒng)下如何實(shí)現(xiàn)內(nèi)網(wǎng)穿透
通常情況下,兩臺(tái)在不同局域網(wǎng)的電腦如果要進(jìn)行傳送數(shù)據(jù),一般都需要先使用內(nèi)網(wǎng)穿透才可以。
寬帶為內(nèi)網(wǎng)IP的用戶即內(nèi)網(wǎng)用戶,以下范圍內(nèi)的IP地址屬于內(nèi)網(wǎng)保留地址,即不是公網(wǎng)IP,而是屬于內(nèi)網(wǎng)IP:
10.0.0.0 - 10.255.255.255;
100.64.0.0 - 100.127.255.255;
172.16.0.0 - 172.31.255.255;
192.168.0.0 - 192.168.255.255
例如某小區(qū)用戶均被分配的內(nèi)網(wǎng)IP,通過(guò)一個(gè)公共的網(wǎng)關(guān)訪問外網(wǎng),小區(qū)內(nèi)每家用戶的計(jì)算機(jī)均可連接外網(wǎng),但是Internet上的其他用戶卻無(wú)法對(duì)內(nèi)網(wǎng)的計(jì)算機(jī)發(fā)送連接請(qǐng)求,自然也就無(wú)法訪問內(nèi)網(wǎng)計(jì)算機(jī)所搭建的網(wǎng)站,也無(wú)法為內(nèi)網(wǎng)計(jì)算機(jī)提供僅公網(wǎng)IP才能支持的下載、傳輸服務(wù),例如BT下載、電驢等。
內(nèi)網(wǎng)穿透即NAT穿透,通過(guò)端口映射將一臺(tái)主機(jī)的內(nèi)網(wǎng)(LAN)IP地址映射成一個(gè)公網(wǎng)(WAN)IP地址,讓互聯(lián)網(wǎng)上的用戶可以通過(guò)此公網(wǎng)IP地址訪問特定的內(nèi)網(wǎng)主機(jī)所提供的網(wǎng)站或者服務(wù)器。
這里我們用花生殼內(nèi)網(wǎng)穿透工具。
內(nèi)網(wǎng)穿透教程:花生殼DDNS端口映射
花生殼官網(wǎng):https://hsk.oray.com/
1、下載花生殼客戶端,并且注冊(cè)用戶。
2、在Windows10系統(tǒng)內(nèi)安裝花生殼,完成后登陸。
3、點(diǎn)擊客戶端內(nèi)網(wǎng)映射,則跳轉(zhuǎn)至花生殼管理的內(nèi)網(wǎng)映射web頁(yè)面,可以直接在網(wǎng)頁(yè)中對(duì)域名進(jìn)行添加映射,即使不在服務(wù)器現(xiàn)場(chǎng),也可以遠(yuǎn)程管理。



我們記錄下域名和準(zhǔn)發(fā)服務(wù)器 IP,配置到我們需要遠(yuǎn)程登錄的機(jī)器的 ssh 信息上,方便登錄,這樣就實(shí)現(xiàn)了遠(yuǎn)程登錄
5、搞定端口映射之后,內(nèi)網(wǎng)用戶也能同公網(wǎng)用戶一樣隨心所欲使用強(qiáng)大的互聯(lián)網(wǎng)服務(wù)了。除了搭建網(wǎng)站之外,完成內(nèi)網(wǎng)穿透的用戶還可以輕松實(shí)現(xiàn)遠(yuǎn)程桌面的搭建和訪問、遠(yuǎn)程監(jiān)控?cái)z像頭、自己開服玩游戲、搭建各類辦公系統(tǒng)等等。
參考資料
9. Windows10內(nèi)置ubuntu子系統(tǒng)安裝后中文環(huán)境設(shè)置
下載中文語(yǔ)言包
sudo apt-get install language-pack-zh-han*
安裝man手冊(cè)
sudo apt-get install manpages
sudo apt-get install manpages-de
sudo apt-get install manpages-de-dev
sudo apt-get install manpages-dev
設(shè)置本地化環(huán)境變量:
echo "LANG=zh_CN.UTF-8" >> ~/.profile
如果想設(shè)置全局環(huán)境變量:
sudo echo "LANG=zh_CN.UTF-8" >> ~/etc/profile
參考資料:
- Windows10內(nèi)置ubuntu子系統(tǒng)安裝后中文環(huán)境設(shè)置
- 初學(xué)Ubuntu:windows的linux子系統(tǒng)圖形化界面配置及中文設(shè)置(適用于Ubuntu)
遺留問題處理
關(guān)于方案一和方案二的問題,還需要查找相關(guān)資料或者請(qǐng)教高手來(lái)解決下。
待辦事項(xiàng)
后續(xù)把 docker 安裝下。
總結(jié)回顧
通過(guò)一周末的折騰,終于實(shí)現(xiàn)了舊電腦變廢為寶,實(shí)現(xiàn)了 Linux 環(huán)境提供服務(wù)資源。
這里涉及到的知識(shí)有:
- 硬盤分區(qū) MBR 與 GPT
- 主板 BIOS UEFI 模式啟動(dòng)
- 大白菜超級(jí) U 盤裝機(jī)工具
- 軟通牒制作u盤啟動(dòng)
- U盤安裝 CentOS 5.5 鏡像
- U盤安裝 CentOS 7 鏡像
- pe 系統(tǒng)安裝 win10、win7 系統(tǒng)
- Win10 操作系統(tǒng)的 Linux 子系統(tǒng)特性
- Win10 系統(tǒng)防火墻端口開放
- Ubuntu 安裝 openssh 提供遠(yuǎn)程登錄功能
- Win10 重啟自動(dòng)執(zhí)行 vb 腳本來(lái)啟動(dòng) Linux 子系統(tǒng)的 ssh 服務(wù)
- win10 系統(tǒng)下通過(guò)花生殼軟件實(shí)現(xiàn)內(nèi)網(wǎng)穿透,提供外網(wǎng)訪問功能
- Ubuntu 設(shè)置中文環(huán)境
題外話,時(shí)間去哪兒了?
周六本來(lái)想要看繼續(xù)學(xué)習(xí)后端 java 的某個(gè)老師講的實(shí)戰(zhàn)課程寫一寫實(shí)戰(zhàn)代碼,因?yàn)閷⒔獾脑搩?nèi)容出涉及到安裝一些服務(wù)軟件,突然想到我的 ESC 服務(wù)器內(nèi)存快不夠用了,于是就是把舊電腦利用起來(lái),提供一個(gè) Linux 環(huán)境供我學(xué)習(xí)使用。結(jié)果這么一操作,加上寫這邊博客的時(shí)間,一個(gè)周末時(shí)間就沒了...原本想要做的事情沒有做....
做一件的事情的時(shí)候還是應(yīng)該以主線為主,支線為輔。比如本周末,計(jì)劃的主線是寫代碼,支線是裝系統(tǒng),結(jié)果本末倒置,裝系統(tǒng)花了巨大的時(shí)間,代碼卻沒有寫幾行。
不過(guò)通過(guò)各種方案裝 Linux 環(huán)境、加寫博客總結(jié),感覺收貨是滿滿的,也很有成就感!

浙公網(wǎng)安備 33010602011771號(hào)