一善绎、環(huán)境說明
1.1 環(huán)境說明:
我在win7 64位(8G內(nèi)存)上安裝一個Vmware軟件黔漂,在VM上安裝cenots7最新版本
所需軟件:
Vmware:版本10.0.3 build-1895310,(也可以是virtualbox禀酱,個人偏向vm)
Centos7:使用最新版本炬守,最小化安裝,目前最新版本為7.6
1.2 Vmware軟件安裝
我這里使用的是vm虛擬機(jī)安裝剂跟,因?yàn)槭莣in7
64位减途,所以安裝的是vm版本10
如果是win8/win10建立安裝版本10以上
1.3 centos7鏡像下載
打開centos官網(wǎng)https://www.centos.org
我在這里選擇Minimal ISO即最小化安裝,如果需要系統(tǒng)有圖形界面的可下載DVD ISO
在彈出的頁面中曹洽,是最新的centos ISO下載列表鳍置,在列表中選擇國內(nèi)的ISO下載鏡像,我這里選擇的是阿里送淆,阿里在做鏡像做貢獻(xiàn)上不錯的税产。
二、centos7安裝
2.1 建立VM虛擬機(jī)
打開安裝好的VM虛擬機(jī),我這里是版本10辟拷,如果版本不同可能會有點(diǎn)出入
2.2 為VM添加網(wǎng)卡及刪除多余設(shè)備
2.2.1 安裝環(huán)回網(wǎng)卡
為了模擬線上云主機(jī),我這里需要添加多一個網(wǎng)卡在添加網(wǎng)卡之前我安裝了一個lookup網(wǎng)卡并配置IP地址為192.168.3.200設(shè)置為192.168.3.0網(wǎng)段
Win7 loopback網(wǎng)卡安裝教程:https://jingyan.baidu.com/article/046a7b3eef6d69f9c27fa9ea.html
如果是win8/win10梧兼,它是沒有l(wèi)oopback網(wǎng)卡的概念的放吩,可以添加“Microsoft KM-TEST環(huán)回適配器”教程:https://jingyan.baidu.com/article/5552ef47c0ede8518efbc957.html
如果你覺得麻煩智听,也可以不添加“環(huán)回適配器”羽杰,只用NAT網(wǎng)址訪問也行。
或者直接把環(huán)回適配器改用VM自帶的host網(wǎng)卡也行
2.2.2 配置VM網(wǎng)絡(luò)地址
安裝完之后配置一個VM網(wǎng)卡地址
查看我虛擬機(jī)VM網(wǎng)絡(luò)的配置情況到推,我只留下3個網(wǎng)絡(luò)考赛,2個橋接,1個NAT莉测,其中:
NAT用來虛擬機(jī)上網(wǎng)颜骤,我配置了IP網(wǎng)段為192.168.128.0/24
橋接環(huán)回網(wǎng)卡主要是充當(dāng)內(nèi)網(wǎng)使用,我配置了IP網(wǎng)段為192.168.3.0/24
2.2.3 添加虛擬網(wǎng)卡和刪除不必要設(shè)備
為了模擬云主機(jī)捣卤,我添加多一個網(wǎng)卡充當(dāng)內(nèi)網(wǎng)連接使用忍抽,并刪除不必要的設(shè)備,操作如下:
2.2 安裝centos7
2.2.1 載入ISO鏡像文件
在“虛擬機(jī)設(shè)置”中點(diǎn)“CD/DVD(IDE)”à“使用ISO映像文件”鸠项,添加剛剛下載的centos 7.6的ios文件,如下圖:
雙擊界面子姜,進(jìn)入虛擬機(jī)操作:
2.2.2 選擇語言
接下來會加載一些東西祟绊,不用管,等下會彈出一個圖形界面如下:
2.2.3 配置IP地址
為了模擬云主機(jī)環(huán)境哥捕,外網(wǎng)地址是固定IP地址牧抽,內(nèi)網(wǎng)也是,所以我手工配置一下IP地址
同理為設(shè)置另一塊網(wǎng)卡添加靜態(tài)IP地址:
這樣2個網(wǎng)卡配置完了遥赚,配置完之后要檢查一下扬舒,2個網(wǎng)卡是否處于開機(jī)自動打開狀態(tài)
2.2.4 手工分區(qū)(可選)
為了更有針對性凫佛,可以選擇手工分區(qū)讲坎,如果不選即使用默認(rèn)分區(qū),一般分區(qū)最少要求
/:根目錄分區(qū)
/boot:相當(dāng)于win的引導(dǎo)分區(qū)御蒲,一般300-500M就夠了
Swap:虛擬內(nèi)存衣赶,一般需要,特別的情況如k8s? kubeadm特別情況不需要厚满,一般設(shè)置為內(nèi)存的1.5-2倍
/var:如果緩存使用很大府瞄,在一塊盤不夠的情況下,需要獨(dú)立出來,則選擇此分區(qū)遵馆,需要加多一塊磁盤鲸郊,如是云環(huán)境不建議劃分,普通找到/var目錄哪個目錄大货邓,單獨(dú)購買獨(dú)立磁盤或?qū)ο蟠鎯Γㄈ绨⒗飳ο蟠鎯ss)秆撮,然后掛載,最后再用軟連接覆蓋/var下具體目錄
/home:家目錄分區(qū):一般不用單獨(dú)出來
所以說我們普通的主要劃分:/换况、/boot职辨、swap分區(qū)即可,繼續(xù)操作:
同理戈二,也添加其它分區(qū)舒裤,如下
2.2.5 開始安裝
所有都配置完之后,點(diǎn)右下角的“開始安裝”觉吭,它就會自動進(jìn)入安裝界面
安裝之后最好還是建立一個普通用戶腾供,我這里建立一個普通的用戶如
hua密碼為123456,因?yàn)槊艽a簡單所以要多點(diǎn)幾次
最后等待安裝完成鲜滩,最后點(diǎn)“重啟”即可
重啟后會進(jìn)入系統(tǒng)伴鳖,因linux最小化默認(rèn)是字符界面是不同有圖形的
物理機(jī)ping一下是否通榜聂,打開命令提示符
2.3 通過SSH連接centos7
2.3.1 下載免費(fèi)xshell
我們假設(shè)centos7放在阿里云中,不能直接點(diǎn)界面輸入密碼闷游,需要遠(yuǎn)程ssh連接工具峻汉,我這里推薦使用xshell,官網(wǎng)有免費(fèi)家庭版本脐往,官網(wǎng)鏈接地址為:https://www.netsarang.com/zh/free-for-home-school
注:ssh這種保存有密碼的工具不建議使用文件破解版休吠,一般都會有木馬獲取敏感信息
2.3.2 xshell連接centos7
完成 之后點(diǎn)“連接”,就沒連接之前就會彈出一個保存日志的對話框
關(guān)閉SSH瘤礁,再重新連接,問題解決:
#測試是否能正常上網(wǎng)
2.3.3 設(shè)置內(nèi)網(wǎng)開機(jī)啟動
sed -i '/ONBOOT/s/no/yes/' /etc/sysconfig/network-scripts/ifcfg-ens33
grep 'ONBOOT' /etc/sysconfig/network-scripts/ifcfg-ens33
#重啟
shutdown -r now
#再用xshell登錄梅尤,查看內(nèi)網(wǎng)網(wǎng)卡是否自動啟動
ip addr
三柜思、centos7配置
為了方便使用需要為centos7做一些簡單的配置及修改
3.1 安裝基礎(chǔ)軟件及基礎(chǔ)配置
3.1.1 centos7安裝兼容包(已安裝)
服務(wù)器端和客戶端同時操作
#兼容centOS6之前的命令
yum install -y net-tools
3.1.2關(guān)閉防火墻
#停止firewall,禁止firewall開機(jī)啟動
systemctl stopfirewalld.service
systemctl disable firewalld.service
#如果安裝了兼容性工具net-tools 可以使用如下命令:
service firewalld stop
chkconfig firewalld off
3.1.3關(guān)閉selinux
一般建議關(guān)閉selinux巷燥,不然安裝你修改一些軟件配置路徑不符合selinux規(guī)范可能會報錯
軟件啟動不了I呐獭!這個是弊大于利的東西缰揪。
#臨時關(guān)閉:
setenforce off
#永久性關(guān)閉:
sed -i's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sed -n '/SELINUX=/p'/etc/selinux/config
#要生效需要重啟
shutdown -r now
3.1.4時間同步(可選)
有些軟件時間性要求比較強(qiáng)的陨享,如同步類,數(shù)據(jù)庫主從,做實(shí)驗(yàn)也最好同步一下時間
yuminstall ntp -y
/usr/sbin/ntpdatepool.ntp.org
echo'#time sync by hua'>>/var/spool/cron/root
#實(shí)驗(yàn)才5分鐘更新一次時間抛姑,如果是生產(chǎn)環(huán)境可以設(shè)置30分鐘
echo'*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null2>&1'>>/var/spool/cron/root
crontab-l
3.1.5 安裝常用軟件
yum install -y vim? lrzsz wget curl man tree rsync
3.1.6 安裝第三方源epel源及remi源
#安裝epel源可以下載比較新版本的軟件及部分默認(rèn)沒用的yum軟件
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ih remi-release-7.rpm
3.1. 7 安裝gcc gcc++
很多軟件都是依賴于gcc及gcc++赞厕,默認(rèn)的yum安裝版本只有4.x有點(diǎn)低,一般安裝5.x以上定硝,操作見“附錄一”
3.1.8 在history命令前添加時間顯示
echo '#by hua '>>/etc/bashrc
echo 'export HISTFILESIZE=100000000' >> /etc/bashrc
echo 'export HISTSIZE=1000000' >> /etc/bashrc
echo 'export PROMPT_COMMAND="history -a"' >>/etc/bashrc
echo 'export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S "' >> /etc/bashrc
source /etc/bashrc
3.1.9 修改文件連接數(shù)
#剛安裝完系統(tǒng)的時候默認(rèn)文件連接數(shù)為1024個皿桑,可以使用命令“ulimit -n”查看
#這樣太小了不夠用,所在生產(chǎn)環(huán)境一般都會修改此項(xiàng)蔬啡。阿里云默認(rèn)的tcp連接數(shù)是65535诲侮,#過大會報警,這樣我們參照大哥的做法星爪,因?yàn)橐话闼麄兌紲y試大量測試的浆西。
cat>>/etc/security/limits.conf<<EOF
#by hua 2019.5
* soft nofile 65535
* hard nofile 65535
EOF
tail -5 /etc/security/limits.conf
3.2 基礎(chǔ)安全設(shè)置
3.2.1禁止root遠(yuǎn)程登錄及修改默認(rèn)ssh端口
一般公認(rèn)的超級用戶如win的是administrator粉私,linux的是root是不安全的顽腾,
公認(rèn)的一些遠(yuǎn)程登錄端口也是不安全的,如win的遠(yuǎn)程桌面3389诺核,root的ssh 22抄肖。
簡單的防范思路是“能修改則修改,不能修改則禁止”窖杀,如linux的root一般不建議修改的漓摩,所以要實(shí)現(xiàn)禁止遠(yuǎn)程登陸,但不會影響本地登錄
3.2.2 禁止root及修改默認(rèn)端口操作
生產(chǎn)環(huán)境中一般禁止遠(yuǎn)程直接用root用戶登陸入客,只能普通用戶登陸管毙,登陸之后用su -切到root,操作如下:
#1.新建立一個普通用戶如hua桌硫,我剛才在安裝的時候建立了夭咬,所以不用添加也行
useradd hua
#為用戶設(shè)置密碼,設(shè)置成功后記得測試登陸一下铆隘,免得禁止root后有問題
passwd 123456
#2. 修改sshd配置卓舵,禁止直接用root登陸,執(zhí)行如下命令
cat>>/etc/ssh/sshd_config<<EOF
#################by hua###2019.5####
#deny root login
PermitRootLogin no
#change the ssh port
Port 10000
#deny empty password
PermitEmptyPasswords no
#deny DNS
UseDNS no
#########################################
EOF
#查看是否寫入
tail -10 /etc/ssh/sshd_config
#重啟ssh
systemctl restart sshd
#不要關(guān)閉原來的xshell窗口膀钠,新打開連接看一下
上面是22端口不能登陸了掏湾,修改為10000端口試下,發(fā)現(xiàn)一直彈出如下對話框
上圖中說明不能用root直接遠(yuǎn)程登錄了肿嘲,要改為普通用戶融击,我這里是hua,密碼123456
發(fā)現(xiàn)能登錄雳窟,如下圖:
#如果你要切換到root賬號可以執(zhí)行“su –”命令尊浪,然后回車輸入root密碼即可
收尾工作
上面的所有安裝之后,為了以后做實(shí)驗(yàn)可以重復(fù)使用建議創(chuàng)建vm快照,
為了能讓快照可以移到其它電腦的vm上運(yùn)行际长,所以建議先關(guān)機(jī)再創(chuàng)建快照耸采,操作如下:
#1.關(guān)閉centos7,切換到root賬號下執(zhí)行
shutdown -r now
#2. 創(chuàng)建vm快照工育,創(chuàng)建之前把DVD指定的ISO系統(tǒng)文件去掉虾宇,如下圖所示:
創(chuàng)建快照:
附錄一、安裝gcc 如绸、gcc++
#1.卸載c和c++嘱朽,默認(rèn)4.8.5版本太低了,在這里沒有安裝
yum remove -y gcc gcc-c++ -y
#2.安裝一些依賴
yum install -y glibc? glibc-develcpp libmpc mpfr
#3.去gcc官方安裝新版本的gcc
#直接https://www.softwarecollections.org/en/搜索“devtoolset”怔接,目前發(fā)現(xiàn)是7
#點(diǎn)版本7會打開鏈接https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7
#查看最版本
#發(fā)現(xiàn)最新版本為8了搪泳,返回頁面devtoolset-7
#https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7根據(jù)說明安裝
#不同的是把版本7改為版本8
yum install -y centos-release-scl
yum install -y devtoolset-8-gcc.x86_64 devtoolset-8-gcc-c++.x86_64
#4.查看gcc和gcc-c++版本
[root@vm76 ~]# rpm -qa|grep devtoolset
devtoolset-8-libstdc++-devel-8.2.1-3.el7.x86_64
devtoolset-8-gcc-8.2.1-3.el7.x86_64
devtoolset-8-runtime-8.0-2.el7.x86_64
devtoolset-8-binutils-2.30-47.el7.x86_64
devtoolset-8-gcc-c++-8.2.1-3.el7.x86_64
#5. 查看查看gcc和gcc-c++版本bin目錄,bin目錄都一樣
rpm -ql devtoolset-8-gcc-8.2.1-3.el7.x86_64|grep "bin/gcc"
rpm -ql devtoolset-8-gcc-c++-8.2.1-3.el7.x86_64|grep "bin"
#4.設(shè)置環(huán)境變量
echo 'exportPATH=$PATH:/opt/rh/devtoolset-8/root/usr/bin'>>/etc/profile
source /etc/profile
gcc -v
g++ -v
#為了方便記憶c和c++做一個軟鏈接
ln -s /opt/rh/devtoolset-8/root/usr/bin/gcc /usr/bin/cc
ln -s /opt/rh/devtoolset-8/root/usr/bin/c++ /usr/bin/c++