循序漸進linux(二)
500~599 伺服器錯誤
501 內部伺服器錯誤
502 壞的閘道器,後端伺服器不可用或沒有完成響應閘道器伺服器
503 服務當前不可用
504 閘道器超時
網站的併發:
51cto 數十臺:10000
你如何理解網站的併發?
單位時間內能夠處理的最大連線數
公式的訪問量是多少?怎麼計算?
如果有幾萬的PV同時描述數十臺的叢集架構就尷尬了
php提供解析的方式,在配置apache解析動態程式用的是mod_php5.so
配置Nginx解析動態程式常用FastCGI守護程式提供服務
Nginx安裝pcre庫
pcre庫是為了使用Nginx支援具備URI重寫功能的rewrite模組
安裝MariaDB
yum install mariadb-server mariadb
rpm -q mariadb mariadb-server
mysql -uroot -p
建立一個資料庫
create database cmsdb;
建立一個新使用者ixdba,設定密碼,並將該資料庫的許可權賦予此使用者
grant all on cmsdb.* to 'ixdba' identified by 'ixdbapassword';
更新許可權
flush privilege;
quit;
高效能解決方案:如何實現資料共享或資料同步 第二個如何處理故障轉移
資料同步通過rsync軟體或DRBD來實現
故障轉移:主備切換
解決方法:
1.主從複製
簡單說:從伺服器到主伺服器拉取二進位制日誌檔案,然後再將日誌檔案解析成相應的SQL在從
伺服器上重新執行一遍主伺服器的操作,從而保證資料的一致性
keepalived+mysql 95%SLA
一主一從
一主多從
主主互備
雙主多從
2.MMM高可用
master-master Replication Manager 主主複製管理器,雙主多從架構
兩個伺服器互為主從,當可寫的主節點故障,MMM套件可以立刻監控到,然後將服務自動切換到另一個主節點
繼續提供服務 99%SLA
3.Heartbeat/SAN高可用解決方法
成本高,存在腦裂可能 99.990%SLA
4。heartbeat/DRBD高可用解決方案
DRBD distributed replicated block device 用軟體實現的,無共享的、伺服器之間映象塊裝置內容的分散式儲存複製解決方案
實現稍微復,存在腦裂可能 990900%SLA
5.Mysql Cluster高可用解決方案
實現繁瑣,配置複雜,實際應用企業並不多 99.999%SLA
手動同步資料庫
如果DB1上有mysql資料,執行主主互備之前,先要進行資料同步
flush tables with read lock;
開啟另一個終端
cd /var/lib/
tar -zxvf mysql.tar.gz mysql
scp mysql.tar.gz DB2:/var/lib
建立複製使用者並授權
需要關注的重點:
slave_IO_Running
slave_SQL_Running
這兩個就是在從伺服器節點上執行的主從複製執行緒,兩個值都是yes
MMM套件安裝
安裝一個和作業系統版本對應的yum源
monitor節點 yum -y install mysql-mmm*
每個db節點 yum -y install msyql-mmm-agent
通過內建的安全指令碼實現對資料庫安全保護
mysql_secure_installation
php-mysqlnd是php原始碼提供的Mysql驅動連線庫
php-pdo是提供php應用程式層的API介面
安裝教新版本的php
安裝一個epel源
wget http://mirrors.neusoft.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm -ivh epel-release-7-11.noarch.rpm
REMI源,提供了最新的PHP版本的下載和安裝
rpm --import https://rpms.remirepo.net/RPM-GPG-KEY-remi
wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -ivh remi-release-7.rpm
檢查REMI是否成功安裝
yum repolist disabled | grep remi
搜尋REMI倉庫是否有可用的包
yum --enablerepo=remi list php
yum --enablerepo=remi-php56 install php
測試php環境的正確性
<?php phpinfo(); ?>
DNS伺服器搭建
DNS服務是通過bind軟體實現的
rpm -qa | grep bind
yum install -y bind bind-utils bind-libs
配置檔案/etc/named.conf
0.0.0.0/0 監聽所有IP
nslookup命令對DNS解析情況進行測試
Samba是一個能讓linux系統應用Microsoft網路通訊協議的軟體
SMB是Server Message Block 服務訊息塊
samba最大的功能就是可以用於linux和windows系統直接的檔案共享和列印檔案
安裝samba yum -y samba samba-client samba-common
配置檔案 /etc/samba/smb.conf
samba由兩個服務組成SMB和NMB
SMB服務啟動才能實現檔案共享
NMB服務是負責解析的,NMB可以把linux系統共享的工作組名稱與IP對應起來
linux安全
yum update 實現作業系統的自動升級
設定tcp_wrappers防火牆
配置檔案 /etc/hosts.allow /etc/hosts.deny
DMZ,可以理解為一個不同於外網或內網的特殊網路區域,重點在保護伺服器本身
DMZ區域將網際網路與區域網隔離開來,放置不含機密資訊的伺服器 web、資料庫、ftp等伺服器
訪問者通過liinux防火牆訪問DMZ中的服務
DMZ區域的伺服器直接連線到外網區域的交換機上,然後通過linux防火牆與網際網路進行互動
安裝rsync
groupadd -g 1020 linuxfans 新建使用者組
more /etc/group | grep linuxfans
newgrp一個使用者在多個使用者組之間進行切換
groupadd group1
groupadd group2
useradd -g group1 -G group2 user1
newgroup group1
newgroup group2
安裝NFS
yum install nfs-utils rpcind -y
建立組使用者指定GID 888
groupadd zuma -g 888
建立組使用者指定UID並加入組
useradd zuma -u 888 -g zuma
LVS等負載均衡是轉發使用者請求的資料包,而nginx反向代理是接受使用者的請求重新發起請求到後面的節點
相關文章
- Linux循序漸進(09)(轉)Linux
- Linux循序漸進(08)(轉)Linux
- Linux循序漸進(04)(轉)Linux
- Linux循序漸進(07)(轉)Linux
- Linux循序漸進(06)(轉)Linux
- Linux循序漸進(05)(轉)Linux
- Linux循序漸進(03)(轉)Linux
- Linux循序漸進(02)(轉)Linux
- Linux循序漸進(01)(轉)Linux
- Linux循序漸進(16)(轉)Linux
- Linux循序漸進(13)(轉)Linux
- Linux循序漸進(11)(轉)Linux
- Linux循序漸進(10)(轉)Linux
- 循序漸進DIY一個react(二)React
- Linux循序漸進(22):vi(轉)Linux
- Linux循序漸進(19):shell(轉)Linux
- Docker循序漸進Docker
- Linux循序漸進(24):vi命令(轉)Linux
- Linux循序漸進(21):別名(轉)Linux
- Linux循序漸進(17):列印操作(轉)Linux
- Linux循序漸進(15):磁碟管理(轉)Linux
- 循序漸進學加密加密
- Linux循序漸進(18):netstat命令(轉)Linux
- Linux循序漸進(14):程式排程(轉)Linux
- SQL開發 循序漸進SQL
- 循序漸進學習oracleOracle
- 循序漸進教你LINUX之軟體配置方法(轉)Linux
- 循序漸進學習LINUX之LINUX程式設計(轉)Linux程式設計
- 循序漸進DIY一個react(一)React
- 循序漸進DIY一個react(三)React
- 循序漸進DIY一個react(四)React
- 循序漸進理解TypeScript型別模式TypeScript型別模式
- 怎樣黑進Microsoft:循序漸進指南 (轉)ROS
- 循序漸進Oracle - 全面認識Oracle ASHOracle
- SOA治理最佳策略:小幅起步循序漸進
- Jsp+JavaBean循序漸進教程(六)JSJavaBean
- IT專案外包要注意循序漸進(轉)
- Linux循序漸進(23):Vi的編輯操作及命令(轉)Linux