linux綜合架構敲門磚
先給SentOS7安裝自動補全的安裝包。
yum install bash-completion -y
安裝以后退出,重新登錄安裝包才會生效。
CentOS7版本與CentOS6有着些許的區別。
一、本地yum
1、CentOS6必須自己編譯repo文件。
2、CentOS7的做法:
1.掛載光盤->設置->cdrom->iso->選擇對應的鏡像文件
2.在centos7系統進行掛載
[root@oldboyedu ~]# mount /dev/cdrom /mnt
3.查詢yum-config-manager工具屬於哪個軟件包提供(查詢方式是聯網)
[root@oldboyedu ~]# yum provides yum-config-manager
4.安裝對應的軟件包
[root@oldboyedu ~]# yum install yum-utils -y
yum-utils 管理repository(包)及擴展包的工具 (主要是針對repository)
5.備份repo文件
[root@oldboyedu ~]# cd /etc/yum.repos.d/ [root@oldboyedu yum.repos.d]# gzip *
6.使用yum-config-manager命令創建一個本地倉庫
[root@oldboyedu ~]# yum-config-manager --add-repo=file:///mnt
7.測試yum是否能正常使用
[root@oldboyedu ~]# yum install vim -y
修改主機名
CentOS6實現方式
1.臨時修改主機名
[root@c6 ~]# hostname oldboy_temp [root@c6 ~]# bash
2.永久修改主機名
[root@oldboy_temp ~]# sed -i '/^HOSTNAME=/c HOSTNAME=oldboyedu' /etc/sysconfig/network [root@oldboy_temp ~]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=oldboyedu
centos7實現方式
1.臨時修改主機名
[root@oldboyedu ~]# hostname oldboy-c7 [root@oldboyedu ~]# bash
2.永久修改主機名
[root@oldboy-c7 ~]# hostnamectl set-hostname oldboyedu-cc7 [root@oldboy-c7 ~]# cat /etc/hostname oldboyedu-cc7
時區修改
1.查看時區
[root@oldboy-c7 ~]# timedatectl list-timezones
2.修改時區
[root@oldboy-c7 ~]#timedatectl set-timezone "America/Punta_Arenas" [root@oldboy-c7 ~]# timedatectl set-timezone "Asia/Shanghai"
系統文件目錄結構
centos6 cetos7
bin -> usr/bin
sbin -> usr/sbin
lib lib -> usr/lib
網絡命名的規則
默認命名規則 eth0 eth1 eth2
biosdevname em1 em2 em3
net.ifnames ens33 ens34 ens35
安裝net-tools工具,可使用ifconfig命令
[root@oldboy-c7 ~]# yum install net-tools -y
啟動級別
SysVinit Systemd
關閉系統 0 runlevel0.target,poweroff.target
單用戶模式 1 runlevel1.target,rescue.target
多用戶模式 2 runlevel2.target,multi-user.target
多用戶帶網絡模式 3 runlevel3.target,multi-user.target
多用戶圖形化模式 5 runlevel5.target,graphical-user.target
重啟操作系統 6 runlevel6.target,reboot.target
Centos6開機默認系統啟動運行級別
vim /etc/inittab
Centos7開機默認系統啟動目標target
multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5
1.查看系統當前默認運行級別(目標)
[root@oldboy-c7 ~]# systemctl get-default multi-user.target
2.修改系統啟動默認級別(目標)
[root@oldboy-c7 ~]# systemctl set-default runlevel5.target
建議修改回去
[root@oldboy-c7 ~]# systemctl set-default multi-user.target
3.centos7關機指令
poweroff、shutdown -h now、init0 (不建議使用)
reboot
systemd服務管理
命令 選項(非必須) 執行命令 單元名稱(非必須)
systemctl [OPTIONS...]COMMAND[NAME...]
操作 Centos6 Centos7
啟動服務 /etc/init.d/crond start systemctl start crond
停止服務 /etc/init.d/crond stop systemctl stop crond
重啟服務 /etc/init.d/crond restart systemctl restart crond
查看狀態 /etc/init.d/crond status systemctl status crond
開機啟動 chkconfig --level 35 crond on systemctl enable crond
開機禁用 chkconfig crond off systemctl disable crond
禁止運行 systemctl umask crond
centos7上的service命令還是為了兼容centos6的習慣
[root@oldboyedu-cc7 ~]# service crond restart Redirecting to /bin/systemctl restart crond.service
centos7啟動與停止建議使用systemctl
[root@oldboyedu-cc7 ~]# systemctl restart crond
centos7查看所有的服務開機啟動和開機不啟動的單元
[root@oldboyedu-cc7 ~]# systemctl list-unit-files
centos7開機不自啟
[root@oldboyedu-cc7 ~]# systemctl disable crond
centos7開機自啟
[root@oldboyedu-cc7 ~]# systemctl enable crond
centos7檢查是否開機自啟
[root@oldboyedu-cc7 ~]# systemctl is-enabled crond disabled
Centos7系統優化
1.調整yum源
rm -rf /etc/yum.repos.d/* curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.清理緩存,並重新生成緩存文件
yum clean all yum makecache
3.安裝基礎軟件包
yum install net-tools vim tree htop iotop iftop \ iotop lrzsz sl wget unzip telnet nmap nc psmisc \ dos2unix bash-completion sysstat rsync nfs-utils -y
4.關閉防火牆
systemctl disable firewalld #臨時關閉 systemctl stop firewalld #永久關閉
5.關閉selinux
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
6.優化ulimit
echo '* - nofile 65535' >> /etc/security/limits.conf
7.執行shutdown -h now 關閉Centos7系統
8.選中對應的虛擬機->快照->拍攝快照
重新配置網卡
[root@oldboy-50 ~]# nmcli connection add con-name eth1 ifname eth1 type ethernet ipv4.addresses 172.16.1.222/24 autoconnect yes ipv4.method manual
綜合架構
1.什么是項目
類似於騰訊公司旗下的qq就是一個項目,微信也是一個項目,每個游戲都是一個項目
2.什么是架構
維護一個項目使用的一套服務器。掙錢
3.什么是集群
服務器集群就是指將很多服務器集中起來一起進行同一種服務,在客戶端看來就像是只有一個服務器。集群可以利用多個計算機進行並行計算從而獲得很高的計算速度,也可以用多個計算機做備份,從而使得任何一個機器壞了整個系統還是能正常運行。
4.什么是高可用->雙擊熱備
備用服務器。主服務器出現故障時備用服務器忙上代替它的工作。
三星級酒店(初步了解架構結構)
顧客(滿足一切需求)
保安 --> 驗證身份
迎賓 --> 接待
服務員 --> 翻譯顧客需求
吧台 --> 煙酒
備菜 --> 提前讓廚師准備好菜
后廚 --> 廚師
倉庫 --> 存放一些重要的東西
用戶訪問網站流程
1.用戶通過瀏覽器輸入oldboyedu.com->回車
2.進行DNS解析->獲取真實的公網IP地址
3.用戶通過tcp的三次握手發起連接->真實的公網IP
4.連接會通過公網->路由器->交換機->抵達前端的防火牆
5.防火牆根據自身訪問規則,進行判定->如果惡意的連接則拒絕->如果是正常的連接則放行
6.防火牆會將連接發送給負載均衡器->查看用戶請求的內容->根據內容進行任務下發->下發給web服務器
7.web服務接收請求后會根據請求進行判斷
如果是請求圖片或者附件->存儲服務
如果請求的網站上的文章或者內容->緩存服務器->如果緩存服務器沒有則->數據庫
數據庫查詢完數據之后會返回數據給web服務器->同時也會返回一份給緩存服務器
8.數據庫返回內容->web服務器->負載均衡->用戶
五層架構模型--> 負載均衡 web服務 存儲服務 緩存服務 數據庫服務(通過tcp連接)
管理人員維護流程
1.用戶通過公網連接(隧道)VPN服務器,這樣方便管理內部主機,並且可以實現批量管理主機,備份所有重要文件。
2.用戶可以通過公網連接監控服務器(也可以使用其他方式去實現)
3.提交視頻http://192.168.20.250 -> 提交的大小300M -> 提交的格式1_姓名_內容.mp4
4.檢查->組長->(聲音->思路->流暢度)--> ocam錄制工具
克隆
1.連接克隆(需要依賴於母體)
2.完整克隆(完完全全的復制一份,占用磁盤空間)
克隆后的機器需要做如下操作
- 修改主機名
hostnamectl set-hostname backup
- 修改IP地址
sed -i 's#222#41#g' /etc/sysconfig/network-scripts/ifcfg-eth[01]
nmcli connection reload #重新加載配置 nmcli connection down eth1 && nmcli connection up eth1 && nmcli connection down eth0 && nmcli connection up eth0 #重啟兩塊網卡
5.基於已克隆好的機器快照