91精品国产手机在线-白筒袜嫩萝双腿之间乳白液体-青青操手机在线视频观看-日本中文字幕人妻日韩-日韩精品在线观看视频网站-天堂资源中文最新版在线一区-欧美专区一区二区三区-国产综合亚洲欧美在线-国产精品久久久久久福利69堂

教你5分鐘快速搭建環(huán)境 如何搭建linux虛擬機環(huán)境

背景
在使用Windows 10開發(fā)的過程之中避免不了使用Linux環(huán)境,比如裝個數(shù)據(jù)庫、裝個docker跑開發(fā)環(huán)境、比如做一些實驗、裝一些雜七雜八的軟件不影響宿主機環(huán)境、甚至僅僅是學習Linux
此時有幾個選擇

  1. 買臺新電腦裝Linux放局域網(wǎng)里面使用
  2. 虛擬機里面裝Linux,虛擬機又有兩個選擇,Windows10自帶的Hyper-V或者Vmware
  3. 裝個Win10的docker,Win10上的docker其實也是基于Linux虛擬機
當然經(jīng)濟劃算加上對Vmware最熟悉所以本文選擇在Win10上安裝Vmware,在Vmware中安裝配置Linux虛擬機,具體選擇如下:
  • 宿主機系統(tǒng):Windows10 19042.685
  • VMware:VMware® Workstation 15 Pro,安裝可參考:https://www.cnblogs.com/mr-xiong/p/12468280.html
  • Linux發(fā)行版:CentOS 7
  • 安裝CentOS 7虛擬機
    鏡像獲取
    鏡像要Minimal的,這種無GUI界面的鏡像文件小,占用資源少而且穩(wěn)定,正符合我們的需求,去CentOS官方鏡像列表隨便找個鏡像站點下載
    官方鏡像列表:http://isoredirect.centos.org/centos/7/isos/x86_64/
    隨便找個找個鏡像站,比如163的:http://mirrors.163.com/centos/7.9.2009/isos/x86_64/
    下載鏡像文件,類似于CentOS-7-x86_64-Minimal-2003.iso
    安裝鏡像
    打開Vmware,我們選擇最簡單的安裝方式
    1. 點擊創(chuàng)建新的虛擬機 ,選擇典型,這種模式內(nèi)存自行給出建議值,待創(chuàng)建好后可自行更改內(nèi)存大小
    2. 安裝程序光盤映像文件(iso),選擇剛剛下載的鏡像文件 >
    3. 點擊下一步 ,輸入虛擬機名稱和位置
    4. 設置合適的磁盤大小,一般默認就好,不夠用后面可以手動擴容
    5. 點擊完成,點擊界面上的Install
    此時進入了CentOS的圖形化安裝界面,一會會讓你選擇INSTALLATION DESTINATION,選擇剛才在Vmware分配的硬盤,最后點擊右下角的Begin Installation,如下圖

    教你5分鐘快速搭建環(huán)境 如何搭建linux虛擬機環(huán)境

    文章插圖
    安裝過程之中你需要創(chuàng)建用戶和設置root密碼,用戶可以不創(chuàng)建,但是root密碼必須設置,設置完成后點擊右下角Finish configuration

    教你5分鐘快速搭建環(huán)境 如何搭建linux虛擬機環(huán)境

    文章插圖
    最后點擊roboot,稍等一會,輸入用戶名和密碼即可登錄
    配置CentOS 7
    網(wǎng)絡配置
    主角:網(wǎng)絡配置文件 > /etc/sysconfig/network-scripts/ifcfg-ens33
    為啥最先說網(wǎng)絡,因為接下來的內(nèi)容都是以網(wǎng)絡為基礎的,如果網(wǎng)沒整好,后面就很麻煩,現(xiàn)在你連自己機器的內(nèi)網(wǎng)IP都不知道,SSH連接都沒辦法
    1. 查看Vmware的網(wǎng)關(guān)地址,基于VMnet8,一會要用,本例中是192.168.108.2

    教你5分鐘快速搭建環(huán)境 如何搭建linux虛擬機環(huán)境

    文章插圖
    1. 如果是克隆機需要重新生成一下MAC地址(右鍵剛才安裝的虛擬機 > 設置 > 網(wǎng)絡適配器 > 高級 > 點擊下方生成重新生成MAC地址),因為物理地址不能一樣,我們是新裝的,不用管 。
    2. 修改網(wǎng)絡配置文件,修改前最好備份一下
    # 進入網(wǎng)絡配置目錄cd /etc/sysconfig/network-scripts # 修改配置文件,你的可能不一樣,本例為ifcfg-ens33 vi ifcfg-ens33 # 修改部分如下,沒有的就加上,有的就修改,別的不用管BOOTPROTO=static # 表示是靜態(tài)IPONBOOT=yes # 開機啟動IPADDR=192.168.108.105 # IP地址,根據(jù)網(wǎng)關(guān)來,變動最后一位即可GATEWAY=192.168.108.2 # 網(wǎng)關(guān)地址,重要!設置錯誤不能上網(wǎng)NETMASK=255.255.255.0 # 掩碼DNS1=192.168.108.2 # DNS設置成和網(wǎng)關(guān)一樣說明用宿主機的DNS設置DNS2=8.8.8.8 # 備用DNS
    1. 重啟使配置生效
    servicenetwork restart
    1. 最后ping一下百度,看看生效沒,如下回顯表示成功
    [root@192~]#pingwww.baidu.comPINGwww.a.shifen.com(110.242.68.3)56(84)bytesofdata.64bytesfrom110.242.68.3(110.242.68.3):icmp_seq=1ttl=128time=38.9ms64bytesfrom110.242.68.3(110.242.68.3):icmp_seq=2ttl=128time=38.8ms64bytesfrom110.242.68.3(110.242.68.3):icmp_seq=3ttl=128time=39.2ms64bytesfrom110.242.68.3(110.242.68.3):icmp_seq=4ttl=128time=39.1ms64bytesfrom110.242.68.3(110.242.68.3):icmp_seq=5ttl=128time=38.8ms 最后貼一份網(wǎng)絡參數(shù)的解釋
    [root@localhost network-scripts]# cat ifcfg-ens33TYPE=Ethernet #網(wǎng)卡類型(通常是Ethemet以太網(wǎng))PROXY_METHOD=none #代理方式:為關(guān)閉狀態(tài)BROWSER_ONLY=no    #只是瀏覽器:否BOOTPROTO=static #網(wǎng)卡的引導協(xié)議【static:靜態(tài)IP dhcp:動態(tài)IP   none:不指定,不指定容易出現(xiàn)各種各樣的網(wǎng)絡受限】DEFROUTE=yes #默認路由IPV4_FAILURE_FATAL=no #是否開啟IPV4致命錯誤檢測IPV6INIT=yes #IPV6是否自動初始化:是(現(xiàn)在還未用到IPV6,不會有任何影響)IPV6_AUTOCONF=yes #IPV6是否自動配置:是(現(xiàn)在還未用到IPV6,不會有任何影響)IPV6_DEFROUTE=yes #IPV6是否可以為默認路由:是(現(xiàn)在還未用到IPV6,不會有任何影響)IPV6_FAILURE_FATAL=no #是否開啟IPV6致命錯誤檢測IPV6_ADDR_GEN_MODE=stable-privacy #IPV6地址生成模型NAME=ens33 #網(wǎng)卡物理設備名稱UUID=ab60d501-535b-49f5-a76b-3336a4120f64#通用唯一識別碼,每一個網(wǎng)卡都會有,不能重復,否則兩臺linux機器只有一臺可上網(wǎng)DEVICE=ens33 #網(wǎng)卡設備名稱,必須和‘NAME’值一樣ONBOOT=yes #是否開機啟動,要想網(wǎng)卡開機就啟動或通過 `systemctl restart network`控制網(wǎng)卡,必須設置為 `yes`IPADDR=192.168.108.105 # 本機IPNETMASK=255.255.255.0 #子網(wǎng)掩碼GATEWAY=192.168.108.2 #默認網(wǎng)關(guān)DNS1=8.8.8.8 DNS2=8.8.8.5 [root@localhost network-scripts]# service network restart #重啟網(wǎng)卡Restarting network (via systemctl):                       [ 確定 ] 注意點
    上面的網(wǎng)關(guān)地址192.168.108.2是基于VMnet8,那我們看看VMnet8這塊網(wǎng)卡在宿主機中的地址:192.168.108.1

    教你5分鐘快速搭建環(huán)境 如何搭建linux虛擬機環(huán)境

    文章插圖
    其實上面的配置中,網(wǎng)關(guān)地址你配置成192.168.108.1和192.168.108.2都可以,那這兩個有什么區(qū)別?
    經(jīng)過我的測試,192.168.108.1不僅僅是一個網(wǎng)關(guān)的角色,它還能代表宿主機(在虛擬機環(huán)境中),比如宿主機跑了一個代理在1080端口,那么虛擬機在虛擬機中telnet 192.168.108.1 1080端口是通的,而telnet 192.168.108.2 1080端口不通,要設置代理必須指定為:192.168.108.1 1080,所以192.168.108.2僅僅是一個網(wǎng)關(guān),不能代表宿主機 。
    代理配置
    有時候有代理的需求,比如下載一個很慢的軟件,可以設置使用宿主機的代理,前提是宿主機已經(jīng)有代理了 。
    1. 全局代理配置,沒用用戶密碼就不需要username:password@這一串
    #打開profile文件vi/etc/profilehttp_proxy=http://username:password@proxy_ip:porthttps_proxy=http://username:password@proxy_ip:portftp_proxy=http://username:password@proxy_ip:portexporthttp_proxyexporthttps_proxyexportftp_proxy# 使代理生效source/etc/profile# 測試是否生效(有返回為生效)curlwww.google.com
    1. 取消全局代理
    # 打開profile文件vi/etc/profile# 去掉上面的配置# 使生效source/etc/profile# unset 一下unsethttp_proxyunsethttps_proxyunsetftp_proxy# 測試是否生效(無返回為生效)curlwww.google.com SSH配置
    主角:SSH配置文件 > /etc/ssh/sshd_config`
    SSH修改以下幾個地方,第一個是允許root用戶登錄
  • 允許root用戶登錄PermitRootLogin yes
  • 關(guān)閉GSSAPI和DNS,這可能會導致SSH登錄緩慢,參考:http://blog.useasp.net/archive/2014/05/19/solved-the-problem-of-ssh-client-such-as-putty-remote-login-linux-very-slowly.aspxGSSAPIAuthentication no
    UseDNS no
  • 修改完成后保存退出重啟SSH服務
    servicesshd restart 在宿主機上telnet 192.168.137.129 22如果端口通,IP即上一步驟設置的IPADDR字段,即可用SSH工具連接
    安裝Vmware Tools
    Vmware Tools可以允許和宿主機文件共享,具體可參考https://docs.vmware.com/cn/VMware-vSphere/6.0/com.vmware.vsphere.html.hostclient.doc/GUID-28C39A00-743B-4222-B697-6632E94A8E72.html
    為什么要放到最后來安裝,是因為安裝的過程需要一些依賴必須聯(lián)網(wǎng)之后才能安裝
    1. 先添加一個共享文件夾用于驗證VMware Tools是否安裝成功,步驟:選中虛擬機 > 右鍵 > 設置 > 虛擬機設置 > 選項 Tab > 共享文件夾 > 添加 ,隨便選擇一個文件夾添加,最后點擊確認即可
    2. 在虛擬機下面點擊安裝Tools,或者點擊頂部虛擬機 > 安裝VMware Tools

    教你5分鐘快速搭建環(huán)境 如何搭建linux虛擬機環(huán)境

    文章插圖
    1. 安裝依賴
    yuminstall -y perlyuminstall -y net-toolsyuminstall -y gccyuminstall -y kernel*
    1. 執(zhí)行如下命令
    # 掛載cdrommkdir/mnt/cdrommount/dev/cdrom /mnt/cdrom# 復制并解壓cd/mnt/cdrom cpVMwareTools-10.3.10-13959562.tar.gz /tmpcd/tmp && tar zxvf VMwareTools-10.3.10-13959562.tar.gz# 安裝/tmp/vmware-tools-distrib/vmware-install.pl
    1. 安裝過程之中一路回車使用默認選項即可
    2. 輸入df -h如果看到類似如下回顯則成功
    .host:/1.9T1.4T473G75%/mnt/hgfs 或者直接ls /mnt/hgfs/看看是否有最開始設置的文件夾即可!
    可能出現(xiàn)的問題
  • 如果出現(xiàn)bash:./vmware-install.pl :/usr/bin/perl:bad interpreter:No such file or directory.現(xiàn)象,需要安裝Perl支持
  • yumgroupinstall "Perl Support"
  • The path “” is not a valid path to the 3.8.13-44.1.1.el6uek.x86_64 kernel
  • 可能的原因是kernel版本不一致的問題,檢查一下本機kernel版本:uname -r,再看一下安裝的kernel相關(guān)組件是否和本機的kernel版本不一致:rpm -qa|grep kernel,對比一下,找到不一致的remove掉:yum remove XXXXX,最后重新安裝kernel相關(guān)組件:yum install -y kernel*
    參考:https://blog.csdn.net/u012820996/article/details/81463535、https://blog.csdn.net/ljunjie82/article/details/48895939
    設置系統(tǒng)時間
    # 覆蓋系統(tǒng)時間cp/usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 更新系統(tǒng)硬件時間hwclock 安裝常用軟件
    安裝之前先更新一下軟件庫
    yum -y updateyum -y remove epel-releaseyum -y installepel-release iptables
    CentOS 7 默認的防火墻是firewall,對于喜歡iptables的老鐵可以直接更換成iptables
    service iptables status # 先檢查是否安裝了iptablesyum install-y iptables # 安裝iptablesyum updateiptables # 升級iptablesyum install-y iptables-services # 安裝iptables-services (CentOS 7)systemctl stopfirewalld.service # 停止firewallsystemctl disablefirewalld.service # 禁止firewall開機啟動firewall-cmd --state # 查看默認防火墻狀態(tài)(關(guān)閉后顯示not running,開啟后顯示running)systemctl maskfirewalld # 禁用firewalld服務#規(guī)則層級iptables -P INPUTACCEPT# 先允許所有,不然有可能會清除后斷開連接,無法再連接iptables -F # 清空所有默認規(guī)則iptables -X # 清空所有自定義規(guī)則iptables -Z # 所有計數(shù)器歸0iptables -A INPUT-i lo -j ACCEPTiptables -A INPUT-p tcp --dport 22 -j ACCEPTiptables -A INPUT-p icmp --icmp-type 8 -j ACCEPTiptables -A INPUT-m state --state ESTABLISHED,RELATED -j ACCEPT #允許本機入站 否則無法聯(lián)網(wǎng)iptables -A OUTPUT-m state --state ESTABLISHED,RELATED -j ACCEPT #允許本機出站 否則無法聯(lián)網(wǎng)iptables -P INPUTDROPiptables -P OUTPUTACCEPTiptables -P FORWARD DROP#iptables層級service iptables savesystemctl enableiptables.service # 注冊iptables服務 #相當于以前的chkconfig iptables on systemctl startiptables.service # 開啟服務systemctl statusiptables.service # 查看狀態(tài) docker
    大家對docker肯定是不陌生的,如果還不知道docker的話,可以看之前的文章:都9102年了,還沒聽過docker?5分鐘帶你了解docker的前世今生!、史上最全(全平臺)docker安裝方法!
    一鍵安裝
    懶人必備官方提供的一鍵安裝腳本:wget -qO- https://get.docker.com/ | bash
    標準版
    #!/bin/bash# remove old versionsudoyum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine# remove all docker data sudorm -rf /var/lib/docker# preinstall utils sudoyum install -y yum-utils \ device-mapper-persistent-data \ lvm2# add repositorysudoyum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo# make cachesudoyum makecache fast# install the latest stable version of dockersudoyum install -y docker-ce# start deamon and enable auto start when power onsudosystemctl start dockersudosystemctl enable docker# add current user sudogroupadd dockersudogpasswd -a ${USER} dockersudosystemctl restart docker 國內(nèi)鏡像版
    #!/bin/bash# 移除掉舊的版本sudoyum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine# 刪除所有舊的數(shù)據(jù)sudorm -rf /var/lib/docker# 安裝依賴包sudoyum install -y yum-utils \ device-mapper-persistent-data \ lvm2# 添加源,使用了阿里云鏡像sudoyum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 配置緩存sudoyum makecache fast# 安裝最新穩(wěn)定版本的dockersudoyum install -y docker-ce# 配置鏡像加速器sudomkdir -p /etc/dockersudotee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["http://hub-mirror.c.163.com"]}EOF# 啟動docker引擎并設置開機啟動sudosystemctl start dockersudosystemctl enable docker# 配置當前用戶對docker的執(zhí)行權(quán)限sudogroupadd dockersudogpasswd -a ${USER} dockersudosystemctl restart docker 注意:國內(nèi)訪問docker太慢,一般會配置加速器,此處配置的加速器是163的加速器:http://hub-mirror.c.163.com,也可以配置阿里云的加速器 。
    dockerveth
    查看docker容器與網(wǎng)卡的對應關(guān)系
    rm -rf /usr/local/bin/dockerveth curl -o /usr/local/bin/dockerveth https://raw.githubusercontent.com/micahculpepper/dockerveth/master/dockerveth.sh chmod+x/usr/local/bin/dockerveth Java
    這個就不說了,Java環(huán)境必備
    # 安裝javayum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel which# 環(huán)境變量設置cat > /etc/profile.d/java8.sh <<EOF exportJAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(whichjavac))))) exportPATH=\$PATH:\$JAVA_HOME/bin exportCLASSPATH=.:\$JAVA_HOME/jre/lib:\$JAVA_HOME/lib:\$JAVA_HOME/lib/tools.jar EOF source/etc/profile.d/java8.sh fail2ban
    多次SSH登錄失敗就封禁IP,避免SSH被爆破
    yum -y install fail2ban echo'fail2ban install complete............'cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local echo'conf file copy complete.............'sed -i '/^\[sshd\]/a enabled = true'/etc/fail2ban/jail.local echo'sshd has enabled.....'systemctl restart fail2ban.service echo'fail2ban has restart...'systemctl enablefail2ban.service echo'fail2ban has added auto started...'echo'=========================fail2ban sshd status==============================='sleep 4 fail2ban-client status sshd 常用小工具
    【教你5分鐘快速搭建環(huán)境 如何搭建linux虛擬機環(huán)境】# zip壓縮hashzip 2>/dev/null || {yum-y install zip}# 解壓hashunzip 2>/dev/null || {yum-y install unzip}# GIThashgit 2>/dev/null || {yum-y install git}# ifconfig命令hashifconfig 2>/dev/null || {yum-y install net-tools}# telnet命令hashtelnet 2>/dev/null || {yum-y install telnet-serveryum-y install telnet}# wget命令hashwget 2>/dev/null || {yum-y install wget} BBR
    bbr是谷歌出品的解決TCP擁堵一定程度上提升網(wǎng)速的算法
    wget--no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh 參考
  • VMware Workstation 15中文破解版 下載與安裝(附密鑰):https://www.cnblogs.com/mr-xiong/p/12468280.html
  • CentOS Mirrors List
  • SSH客戶端(如PuTTY)ssh遠程登錄Linux非常慢的解決方法
  • VMware Tools 簡介
  • Linux安裝Vmware-tools步驟(命令行)+The path is not valid path to…排錯
  • 安裝vmware-tools遇The path “” is not a valid path to the 3.8.13-44.1.1.el6uek.x86_64 kernel問題解決
    • 推薦閱讀