【心得】自己租VPS架設雲端伺服器(CentOS 8)簡易教學

由於最近幫伺服器搬家,物色新的主機商時選中了Vultr這家,
因為有提供性能較高的方案,價格也便宜,所以將部屬過程寫成教學,分享出來。
1.希望能讓不懂Linux的人也會操作,所以故意寫得很啰唆
2.本文是架設 spigot伺服器
3.本文著重在開服,所以裝什麼插件、設置檔要怎麼寫等.. 不在討論範圍
4.我非專業人士,Linux也只是自學而已,觀念跟做法在專業大大面前肯定會有許多疏漏,還請見諒。
將伺服器設在雲端好處是
1.24h運作
2.沒有NAT問題,所以不用煩惱要ip-forwarding還是hamachi
3.不用煩惱電力、散熱、硬體故障等問題
4.不必與家中電腦爭搶系統資源
雲端伺服器更簡單的有官方的Realms以及專門託管麥塊伺服器的服務商
本篇則是最麻煩的通通自己來,好處是自由度高,也很有成就感,
甚至多的資源我還開了Vpn Server讓自己可以跨日區XD
第一部分: 申請Vultr
在Vultr申請部分,我是參考 這篇文章,寫得很詳細,建議看看,
我則是簡單的跑一次申請流程,如我寫的有什麼不清楚之處,該篇文章應該都會有答案。
第一步:註冊帳號
首先要辦Vultr帳號,
進入該網址註冊新帳號
建議使用別人的推薦碼鏈接註冊,會得到100美的優惠(限一個月用完),
上面推薦的文章內有推薦碼鏈接。
第二步:付款信息
帳號申請完後,主頁往下滑會看到(如果沒有,左邊的Billing也有),添加付款方式,一定要添加付款方式才能新建主機,我是使用信用卡,
依圖標分別為:
1.信用卡上英文名字
2.地址,依序是 地址/城市/郵遞區號/國家地區,
( 可用中華郵政地址英譯 )
3.信用卡號/到期日/安全碼
4.可以先不儲值,建議勾選,試用後滿意再儲值就好
5.優惠碼,可以去找能用的優惠碼。
第三步:添加主機
接著我們來添加主機,點擊左邊Products後,右上角的+號點下去
點進去後,就可開始添加自己想要的主機了
1.先選主機
有四種不同系列的主機,我們要選的VPS是左邊兩項Cloud Compute 以及 High Frequency,兩者差別在於後者處理器更強,故價格稍貴一些,可以自己點點看價格差異,依個人需求決定。
2.選伺服器地區,台灣的話建議選東京tokyo,
東京機房的IP相關信息:
可以用自己的電腦去ping看看回應值如何
3.選系統,
我是選擇CentOS 8 x64,因為以前學的是CentOS,所以我選擇他
4.選方案,
建議至少選2G RAM,避免RAM不足而錯誤,
如果覺得性能不夠,後面也可以再升級。
5.其餘選項,
這部分我只有enable IPv6有開啟而已
Server Hostname & Label,這是伺服器名稱,自由命名即可。
第四步:添加主機完成
添加後就會開始創建主機了,稍等一會就會看到主機已經創建成功(顯示running)
接著直接點伺服器名稱,可以看各項信息
1.伺服器IP (記起來後面要用)
2.ROOT密碼, (記起來後面要用)
3.從左至右分別是:
View Console : 直接用瀏覽器連進server作管理,如果防火牆設錯被關在牆外,就能派上用場了
Server stop : 關閉server
Server Restart : 重啟server
Server Reinstall : 重裝server,數據會被清空
Server Destroy : 移除掉整個server
下一頁有一些圖表,像是流量、CPU使用率等等。
要創建伺服器暫時先知道這樣就好了,其餘功能可以參考上面鏈接的文章,他說明得更為清楚。
第二部分: 架設伺服器
VPS已經創建出來了,接下來就要開始架設伺服器了,
指令我會以綠色標示,有些信息可能因人而異,這部分以橘色標示。
補充一些給不熟悉的人們
a. 複製粘貼的部分,在命令提示字元中,直接單點右鍵是粘貼
b. 多善用TAB,看看指令後面可以增加什麼東西
c. ctrl+C可以中斷現在的進程,如果有卡住可以用
d. 要複製粘貼指令可以先開記事本編輯好等一下要下的內容,亂貼指令進設備是很危險的事情!
第一步:SSH連接到主機
1.
在鍵盤上按下」開始鍵」,輸入cmd,開啟命令提示字元,
我習慣直接這樣用,你想用別的連接程序(EX:putty)也可以
2.
接著請輸入(伺服器IP請在Vultr頁面中取得)
ssh -l root <伺服器IP>
敲下去後他會詢問 Are you sure you want to continue connection(yes/no)? 請輸入yes後按enter
接著他會問你密碼,請輸入ROOT密碼,剛才vultr頁面有。(圖片塗掉部分信息)
 
這樣就成功登錄主機啰!
注意輸入密碼部分,密碼是不會顯示出來的,但是只要有輸入他都有確實記錄。
第二步:創建伺服器
1.
安裝基本套件,這邊直接全複製一次粘貼即可。
yum -y update
yum -y install epel-release
yum -y install wget
yum -y install java
yum -y install git
yum -y install screen
yum -y install iptables
yum -y install iptables-services
2.
創建名為」mcser」的用戶(名稱可自定,但建議與我相同,看本篇文章會比較順)
useradd mcser  
 
3.
接著設置」mcser」用戶密碼,指令enter下去後就可以輸入密碼了,
該帳號是日後管理伺服器的主要帳號,密碼不要太簡易
passwd mcser
4.
給sudo許可權
visudo
enter後會出現一份文檔,方向鍵往下滑找到一行」 root ALL=(ALL) ALL
請直接按i 就會進入”插入模式“(左下角會有INSERT),你可理解為編輯模式
接著請再下一行添加:
mcser ALL=(ALL) ALL
輸入完後如下圖,接著按ESC會離開插入模式(左下INSERT消失)
再來請直接輸入 :wq! 左下角會出現你輸入的 :wq!  
再按enter即可保存並離開
輸入:q! 則是不保存離開
至此新用戶已經創建完成

稍微說明一下:
sudo是可以暫時取得root許可權的指令,
因為root是最高許可權者,通常不以root操作,所以須創建其他用戶操作,
但如果遇上必須使用root許可權時,就可用sudo,
使用方法是加在指令前方,例如 sudo rm test.txt,輸入後會需要再輸入一次用戶密碼。
以下流程我沒加sudo的應該都是有許可權運行的,但如果你下指令有碰上許可權不足的情形,可在指令前方加上sudo解決看看。
5.
好,現在開一個新的命令提示字元,並且登錄mcser這個帳號
ssh -l mcser <伺服器IP>
密碼就是你剛設置的
6.
登錄成功後,
先來創建minecraft文件夾,用來放置相關文件夾及文件,以及創建一個待會要用的子目錄:BuildTools
mkdir -p /home/mcser/minecraft/BuildTools
7.
跳轉進子目錄BuildTools內
cd /home/mcser/minecraft/BuildTools
8.
下載BuildTools.jar (可參考spigot的說明文檔
wget
9.
運行BuildTools.jar
java -Xmx1024M -jar BuildTools.jar        (預設最新版)
如果你有特定想下載的版本,請改下這條
java -Xmx1024M -jar BuildTools.jar –rev 1.15.2 (自己選擇版本號)
此步驟會等待比較久,耐心等候最後跳出此消息表示成功:
 
如果無法運行,在指令前面增加sudo試試看
sudo java -Xmx1024M -jar BuildTools.jar
輸入後會請你再輸入一次用戶密碼
此步驟如果RAM不足,可能會失敗。
10.
這時我們先用ls指令看一下,到底裝了什麼東西出來
ls
會發現裡頭有一個文件spigot-1.16.3.jar,這就是大家熟悉的伺服器核心文件了!
(不同版本文件名不同,後續指令記得修改成自己看到的文件名)
11.
接著來創建伺服器文件夾」spigot_server」
mkdir -p /home/mcser/minecraft/spigot_server
12.
將伺服器文件移動進去
mv /home/mcser/minecraft/BuildTools/spigot-1.16.3.jar /home/mcser/minecraft/spigot_server/
13.
現在spigot_server內已經有伺服器核心文件了,跳去伺服器文件夾
cd /home/mcser/minecraft/spigot_server
14.
運行看看吧~
java -Xmx1024M -jar spigot-1.16.3.jar(記得依照自己選擇的版本更改文件名)
結果他說還沒有同意EULA的授權合約,如果你敲ls下去,會看到有一個eula.txt文件
15.
這時我們要編輯eula
vi eula.txt
輸入後會如下圖畫面所示
這時請按鍵盤上小寫i,此動作是進入」插入模式」(左下角有INSERT字樣),
在此模式下將false改成true。
編輯完畢後,按下esc(左下角INSERT字樣會消失)
再來直接輸入 :wq!,都會顯示在左下角,然後按enter(表示保存離開)
另外如果不想保存,則是輸入:q!
這時授權合約同意了,我們來寫啟動server的文件
16.
直接新建一個文件
vi start.sh
接著會看到一片空白,一樣按i進入插入模式,接著複製粘貼以下內容:
cd “/home/mcser/minecraft/spigot_server/”
echo -e “minecraft_server start”
java -Xms1024M -Xmx1024M -jar spigot-1.16.3.jar
接著ESC離開插入模式
輸入:wq! 後enter保存離開
此部分是伺服器啟動設置檔,RAM大小請自行修改,或是你有別的寫法也可自行調整,
這邊只是範例。
17.
現在啟動伺服器吧!
sh start.sh
伺服器已經正常開啟了,但這時還先不要進去伺服器,先stop離開
18..
接著來設置防火牆,請敲入下方指令,因為有sudo,所以敲下去會請你輸入一次用戶密碼。
sudo iptables -P INPUT ACCEPT
sudo iptables -F
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 25565 -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
sudo /sbin/service iptables save
sudo systemctl start iptables
sudo systemctl enable iptables
19.
現在我們再重新啟動伺服器
sh start.sh
伺服器開啟完成後,確認一下應該能進去啰! (伺服器IP就是Vultr那邊顯示的IP)
第三步:伺服器設置
雖然伺服器創建起來了,但是相關設置完全沒改,所以現在要編輯伺服器的相關文件了
不過總之還是先看一下現在有那些東西吧!
看文件
ls
其實有開過伺服器的人應該對這些文件名都很熟悉了,
start.sh                我們寫的伺服器啟動檔
server.properties 就是伺服器設置檔
spigot.yml            這是spigot的設置檔
logs                      存放log的文件夾
plugins                 插件文件夾
world/world_nether/world_the_end 分別是三個世界地圖檔
設置檔內容要怎麼編寫,參數要怎麼設置,本文不再贅述
只說明要如何編輯這些設置檔。
前面有介紹過可以用vi這個好用工具去修改,
vi 文件名  (可打TAB跳出可銜接的文件名)
進入後按i 開啟」插入模式」來編輯
編輯完畢後 ESC關閉」插入模式」
最後:wq! 保存離開
如果編輯錯或不小心砍掉什麼 :q! 不保存離開
所以例如要修改server.properties 就是
vi server.properties
就會看到如下畫面,一樣按下i就能編輯啰!
第四步:伺服器啟動
現在伺服器開起來了,設置做完了,接著我們要使用screen工具,
這是一個非常好用的工具,等於你的Linux多開一個分頁去跑伺服器,而且可以背景運行
不僅開伺服器可用,平常操作linux時也可多加利用!
1.
先敲入
screen
這時就開啟了一個新的screen頁面
2.
一樣先跳轉進伺服器文件夾
cd home/mcser/minecraft/spigot_server
3.
啟動伺服器
sh start.sh
這時伺服器就會運行在screen頁面之中,
那要跳出screen的方法是:先crtl+A 接著再按一下D,就會跳出screen,不過他其實仍然在運行中唷!
這樣你就可以繼續操作你的Linux,或是直接按叉叉把窗口關掉,而伺服器會在背景運行不被關閉。
如果想回screen看看伺服器的窗口,請輸入
screen -r
就能回到你剛剛開的screen了
那如果你開了不只一個screen,輸入screen -r後會看到如下畫面:
只要在screen -r後方加上 screen的名稱就可以進入對應的screen了
例如要進入6583.pts-0.MCtest
screen -r 658
(名稱可以不用全打出來)
至此,所有伺服器的架設及啟動都已經完成了。
第四步:備份地圖檔
我自己是架一個FTP server,寫一個腳本每天自動備份上去,
不過還有另一個方法可能比較容易,就是用FileZilla這個程序
1.先下載
安裝好後打開,進去後會看到這個畫面,請點擊左上角」添加站台」
2.
點擊添加站台,添加一個站台後,
協定:選SFTP
主機:填你的伺服器IP
登錄型式:一般
用戶:填你的帳號
密碼:填用戶密碼
完成後按連接
3.直接確認
4.接著會看到右邊已經出現了你的linux主機目錄了
5.到了這步,我想也不需要多做介紹了,
可以自由的刪除、添加、下載、上傳,操作上跟windows已經相同了。

 
補充
不過這邊要補充一件事情,就是如果你是用root在建伺服器,或是用root添加目錄之類的,因為許可權在root手上,會出現許可權問題,如下圖範例,text2擁有者是root的 (上面的BuildTools也是,但請先忽略,那是我在亂搞)
這時如果你對文件夾內的文件進行更動,上方消息都會跳出許可權不足
碰到這種情形可以用兩種方法改許可權,使用任一種就行了。
1.許可權改成777讓他全允許
進CMD登錄root帳號,針對沒許可權的目錄直接更改許可權
例如本例是text2沒許可權,進到他上一層目錄下
chmod -R 777 text2/
目錄也可以寫得更詳盡
chmod -R 777 home/mcser/minecraft/text2
就行了
2.更改擁有人
一樣進cmd登錄root帳號,下
chown -R mcser text2/
就可以了
後續補充
補充一些說明
1.
平常要開啟伺服器的步驟:
登錄主機
ssh -l mcser <伺服器IP>
開screen
screen
啟動伺服器
sh /home/mcser/minecraft/spigot_server/start.sh
完工!
如果你主機有重啟或伺服器崩潰,要打開伺服器就照這步驟作一遍
因為我不會寫開機自動啟動,所以每次都要做一次XD
那如果是伺服器崩潰之類的,
直接進入screen
screen
接著下stop關掉,如果整個卡死就ctrl+C強制關閉,再重啟就行了。
2.
伺服器IP是固定的,只要給客端IP就能連接了,但如果想用免費域名,可以上網找免費的DDNS服務,例如no-ip,只要把伺服器IP綁上去就可以了。
3.
稍微介紹一些基本指令,只簡介部分,指令詳細的功能google一下都有。
看文件
ls  看文件清單
ls -l 看詳細文件信息(可看許可權、擁有者、群組等)
切換目錄
cd
cd /home 切換到/home這個目錄
cd .. 切換到上層目錄,例如你在/home/mcser 就會跳到 /home/
創建目錄
mkdir text 創建名為text的目錄
mkdir -p /home/mcser/minecraft/text1/text2 多層次目錄創建,中間如有目錄還沒創建會一併建出來
複製文件
cp <來源文件> <複製目的地>
例如 cp /home/mcser/AAA.txt /home/mcser/minecraft/  把AAA.txt複製到minecraft文件夾內
移動文件
mv <來源文件> <目的地> 跟cp操作類似,只是從複製變成移動
刪除文件
rm AAA.txt 刪除文件AAA.txt
rm -r /text 刪除目錄text(目錄連同裡頭文件全部刪除)
rm -f  強制刪除
所以 rm -rf /text 可以強制刪除text,可能會毀滅世界,要小心
顯示硬碟空間
df -h
下載文件
wget <網址>
暫時取得root許可權
sudo <任何指令> 輸入後需要輸入密碼,可在無許可權情況下使用
4.
編輯文檔用的vi會很常用到,如果還是有不明白,推薦看鳥哥的說明(其實所有linux不懂的地方都可以參考鳥哥啦!)
5. 不知道還有什麼要講的,看有什麼問題再說吧
對了我之前是用linode,我覺得那間也很好。
本篇如要轉載請附來源即可。
結束!
本文來自網路,不代表3樓貓立場,轉載請註明出處:https://www.3loumao.org/6159.html?variant=zh-tw
返回頂部