後端必備:虛擬機器安裝CentOS

2020-08-08 20:03:17

VMware中CentOS的安裝、設定及使用

伺服器端市場上,因爲Linux開源免費,使用的是最多的,特別是LNMP組合是中小企業的黃金搭檔。

安裝前的一些疑問

爲什麼是VMware而不是WSL2?

也不是非得使用VMware,開源的VirtualBox也是不錯的選擇,日常使用也沒有任何問題。WSL就不推薦了,主要是因爲沒有快照功能,網路設定也沒有虛擬機器靈活。當然,如果WSL2能正常使用docker,僅僅用於開發也是很好的。

MacOS上VMware並不是很好用,Parallels或VirtualBox是更好的選擇。

爲什麼是CentOS而不是Ubuntu或Fedora?

國外基本上CentOS、Ubuntu五五開,論安全穩定,還是CentOS更好一些。

國內,絕大多數網站,伺服器都是CentOS系統,配套的軟體也是最多的,出問題的解決方案也是最及時的。

爲什麼不直接安裝CentOS到物理機上?

作爲個人使用,Windows和MacOS是出廠的系統,已經經過了測試,日常使用不會有什麼問題。
CentOS作爲伺服器系統,可能某些無線網絡卡,顯示卡等沒有很好的驅動。這種情況正在改善,以前在一個2017年左右的筆電上安裝Ubuntu,所有硬體都工作很好。

再就是軟體生態,比如QQ,微信等軟體,Linux上的支援並不好。

因爲虛擬機器有快照,可以快速進入工作狀態,還可以避免一些危險的操作給主機帶來災難。

但是,很多IT人士,就是日常使用Linux,以便熟悉和研究系統。

安裝CentOS

安裝VMware

去VMware官網,下載VMware,一路下一步,很快就安裝完了。

下載CentOS

去CentOS的官方站點,https://www.centos.org/,點選Download,最新的是CentOS 8,這個版本較新,python使用的是python3,目前主流的還是CentOS 7,這裏就使用最新的CentOS 7.8。

點選7版本:
在这里插入图片描述
因爲我們的CPU都是x86的,點選x86_64,32位元的系統已經很少有人用了,而且8版本就沒有32位元的了。

下一個頁面就是下載速度最快的映象站點,前兩個分別是華爲和阿裡,點選其中任何一個:
在这里插入图片描述
伺服器一般不需要圖形介面,我們安裝最小化的就可以了,點選CentOS-7-x86_64-Minimal-2003.iso開始下載。
在这里插入图片描述

安裝CentOS

新建一個虛擬機器,選擇自定義設定
在这里插入图片描述
相容性預設即可,下一步選擇稍後安裝系統,再下一步,選擇系統型別爲Linux,CentOS
7 x86_64
在这里插入图片描述
因爲系統磁碟一般較大,一般放在D槽:
在这里插入图片描述
下一步,選擇CPU個數,只要比物理機少即可,核心數越多編譯原始碼越快

記憶體保持預設的1G即可,如果想要編譯安裝MySQL,可以設2G或更大

網路保持預設的NAT即可,這樣安裝後直接就有網路了。

VMware有三種網路模式:

橋接就是和主機網絡卡一樣,通過DHCP或設定靜態IP地址上網,一般和主機處於同一區域網中。可以通過點選選單中的編輯->虛擬網路編輯器,可以選擇橋接的網絡卡是無線網絡卡還是有線網絡卡。

NAT是使用主機的網路,發出的TCP/IP報文經過主機時,將源IP修改爲主機的IP(SNAT),否則虛擬機器能發送報文卻永遠收不到報文,即無法上網。對應的網絡卡是VMnet8。

僅主機模式,就是和主機處於同一區域網,但是不能上外網。對應的網絡卡是VMnet1。

接下來選擇硬碟的介面型別,保持預設即可,然後就是新建磁碟,20G顯然太小了,可以適當改大:
在这里插入图片描述
建立好後,點選編輯虛擬機器設定,DVD處選擇下載映象ISO檔案,點選開啓此虛擬機器,開始安裝。
在这里插入图片描述
安裝介面,點選滑鼠左鍵,使滑鼠進入安裝視窗,按鍵盤上的向上箭頭,選中Install,按Enter開始安裝

在这里插入图片描述
Ctrl+Alt可以使滑鼠移到VMware外。

選擇語言介面,保持預設的English

Begin Install按鈕是灰色的,點選Installation Destination,下一介面僅需點選Done即可,然後點選Begin Install開始安裝

在这里插入图片描述
這樣會自動分割區,而且會自動建立LVM分割區,便於動態擴充套件磁碟大小。

也可以點選Date & Time,選擇時區爲shanghai,也可以安裝後設置。

開始安裝後,需要設定root密碼,如果密碼太簡單,需要點選兩次Done。

CentOS初始化設定

預設安裝後是沒有開啓網絡卡的,也無法上網,需要設定IP。

同時便於以後使用,需要關閉selinux和firewalld防火牆。

設定固定IP地址

通過安裝時設定的密碼,使用root使用者名稱登錄,密碼不會顯示。

nmtui命令可以方便的使用文字圖形介面設定IP地址。遊標在Edit a connection, 回車,出現一個網絡卡ens33,然後通過方向鍵選擇右邊的Edit,回車,按照如下圖設定網絡卡即可,IP網段爲VMnet8的網段,我的是192.168.154.1,最後返回在Quit上回車
在这里插入图片描述
接着ping baidu.com,ping通即表示IP地址設定好了。Ctrl + C結束,Ctril + D退出。

修改主機名

IP地址設定好後,就可以開啓SecureCRT或XShell,通過SSH登錄了。

如果沒有安裝任何軟體,也可以使用CMD命令列登錄

ssh [email protected],輸入密碼就登錄了。

如果主機名沒有好的標識,很容易混淆,後果往往不堪設想。

在这里插入图片描述
重新登錄後,看到hostname已經修改了,無需重新啓動就生效。

同步時間

date命令檢視時間是不正確的。需要安裝和開啓chronyd服務。

[root@vm-78-minimal ~]# timedatectl 
      Local time: Sun 2020-08-09 03:30:07 CST
  Universal time: Sat 2020-08-08 19:30:07 UTC
        RTC time: Sat 2020-08-08 19:30:07
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: n/a
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
[root@vm-78-minimal ~]# yum -y install chrony
[root@vm-78-minimal ~]# systemctl enable chronyd
[root@vm-78-minimal ~]# systemctl start chronyd

如果時區不正確,通過命令timedatectl set-timezone PRC設定爲東八區。

如果長時間沒有啓動,開機後時間不正確,可以通過命令chronyd -q 'server ntp1.aliyun.com iburst',強制同步時間。

也可以執行,yum install ntpdate -y,安裝ntpdate,然後執行ntpdate -u ntp1.aliyun.com同步時間,效果是一樣的。

一勞永逸的做法是修改chronyd的組態檔,只要時間差大於1秒就跳躍式更新時間。

[root@vm-78-minimal ~]# sed -i 's/^makestep/#makestep/' /etc/chrony.conf
[root@vm-78-minimal ~]# echo 'makestep 1 -1' >> /etc/chrony.conf
[root@vm-78-minimal ~]# systemctl restart chronyd

這樣每次啓動時,時間差會大於1秒,就會直接設定爲正確的時間,而不是慢慢同步

關閉selinux和firewalld

selinux規則往往很嚴格,不利於日常使用,一般都會關閉。
firewalld防火牆僅在開發時關閉,一般線上服務防火牆是開啓的,而且給最小的存取授權。

[root@vm-78-minimal ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@vm-78-minimal ~]# getenforce
Enforcing
[root@vm-78-minimal ~]# setenforce 0
[root@vm-78-minimal ~]# systemctl stop firewalld
[root@vm-78-minimal ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@vm-78-minimal ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[root@vm-78-minimal ~]# 

最後通過,shutdown -h now關機,並儲存爲快照,方便以後隨時開啓、克隆。再也不用安裝一樣的系統了。