循序漸進linux(二)

sas???發表於2018-04-15

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反向代理是接受使用者的請求重新發起請求到後面的節點

相關文章