gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

CentOS 7下搭建百萬PV網站架構詳述

日均百萬PV的網站站,費用也不低,并且CDN節點有時會出問題,還 需要每次的更改后刷新CDN,不太方便。

改造后期望:

配置獨立服務器,升級帶寬,更改環境以支持PHP的程序,實現本地化的廣告投放功能,以擴展自有化。

PV(Page View,頁面瀏覽量)即點擊量,通常意義上說PV的多少是衡量一個網絡新聞頻道或網站甚至一條網絡新聞的主要指標。pv的解釋是這樣的:一個訪問者在24小時(0點-23點)內到底看了網站的幾個頁面。需要注意的是:同一個人瀏覽網站的同一個頁面,不重復計算pv量,點擊100次頁只算1次。

案例概述:本案例設計采用四層模型實現,主要分為前端反向代理層,web層,數據庫緩存層和數據庫層。前端反向代理詞采用主備模式,web層采用群集模式,數據庫緩存層采用主備模式,數據層采用主從模式

具體實現:

下面將記錄實現過程的點滴,期間得益于互聯網上許多資料的幫助,在此一并表示感謝。此文章力爭做到細致,清晰,希望對后來者起到一定幫助作用。

這里我為了節省資源,將前端代理層,數據庫緩存層,數據庫層部署在兩臺虛擬機上,將web層分別部署在兩臺虛擬機上。

拓撲圖如下:
CentOS 7下搭建百萬PV網站架構詳述

實驗環境如下:
CentOS 7下搭建百萬PV網站架構詳述

——————————————分割線——————————————

本文的源碼包可從以下信息得到下載:

點擊這個http://www.linuxidc.com/Linux/2013-12/93755.htm 鏈接去關注 Linux公社官方微信,關注后回復數字155206。即可得到網友的分享密碼。

如果取消關注Linux公社公眾號,即使再次關注,也將無法提供本服務!

鏈接: https://pan.baidu.com/s/1SK5Yv0bEPkzDjATqC67RZg  密碼:獲得見上面的方法,地址失效請在下面留言。

——————————————分割線——————————————

具體部署如下:
一 在前面兩臺主從服務器上安裝nginx和keepalived
rpm -ivh http://nginx.org/packages/CentOS/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm #

裝帶有nginx rpm軟件包的源,主從都要做

yum install nginx keepalived -y            #使用centos默認的倉庫完成的安裝
vim /etc/keepalived/keepalived.conf      #配置keepalived的主配置文件
! Configuration File for keepalived
vrrp_script nginx {                      #定義函數庫腳本
        script “/opt/shell/nginx.sh”      #添加腳本路徑
        interval 2                    #定義每次執行該腳本的間隔為2s
}

global_defs {
  notification_email {
    acassen@firewall.loc
    failover@firewall.loc
    sysadmin@firewall.loc
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id NGINX_HA          #定義該服務器的名稱,從服務器要定義不同的名稱好加以區分
}

vrrp_instance VI_1 {
    state MASTER              #將主服務器的角色定為MASTER,從服務器為BACKUP
    interface ens33            #將網卡接口改為ens33
    virtual_router_id 51       
    priority 100                #定義優先級,主服務器要高于從服務器
    advert_int 1
    authentication {
        auth_type PASS        #這里表示主從服務器的同步密碼,保持默認即可
        auth_pass 1111
    } 
    track_script {
        Nginx              #在這里調用上面定義好的腳本,注意腳本名稱一定要相同
    } 
    virtual_ipaddress {
        192.168.199.188        #定義虛擬IP,虛擬IP一定要和服務器的真實IP在同一網段
    } 

在指定的目錄下創建腳本

mkdir /opt/shell
vim /opt/shell/nginx.sh       
#!/bin/bash
k=`ps -ef | grep keepalived | grep -v grep | wc -l`
if [ $k -gt 0 ];then
        /bin/systemctl start nginx.service
else
/bin/systemctl stop nginx.service
fi                              #該腳本作用是在啟動keepalived服務時就可以直接啟動nginx服務
chmod +x /opt/shell/nginx.sh      #賦予腳本執行權限

配置nginx反向代理:

vim /etc/nginx/nginx.conf        #配置nginx的配置文件
upstream tomcat_pool {
                server 192.168.199.131:8080; 
                server 192.168.199.132:8080;      #定義后端的兩臺Tomcat地址
                ip_hash;            #會話穩固功能,否則無法通過vip地址登錄
        }     
        server {
                listen 80;
                server_name 192.168.199.188;    #虛擬IP
                location / {
                        proxy_pass http://tomcat_pool;
                        proxy_set_header X-Real-IP $remote_addr;
                }
        }

nginx -t -c /etc/nginx/nginx.conf #測試配置文件語法

從服務器的配置和主服務器的配置基本相同,唯一不同地方在于keepalived的配置文件,在上方都有說明,這里就不再演示

systemctl start keepalived.service      #開啟主服務器的keepalived服務
netstat -ntap | grep nginx      #查看nginx是否開啟,要想關閉nginx,需要先關閉keepalived

CentOS 7下搭建百萬PV網站架構詳述

systemctl start keepalived.service      #開啟從服務器的keepalived服務

netstat -ntap | grep nginx      #查看nginx是否開啟,要想關閉nginx,需要先關閉keepalived,注意第二臺的nginx啟動可能會有些慢,如果nginx端口一致啟動不了就去檢查keepalived的配置文件和自己定義的腳本,大部分錯誤都是這兩個地方

CentOS 7下搭建百萬PV網站架構詳述

二 部署兩臺Tomcat節點服務器
解壓所需要的兩個軟件包

tar zxvf jdk-8u144-linux-x64.tar.gz -C /opt        #jdk是一個java運行環境,要想安裝tomcat必須先安裝jdk
tar zxvf apache-tomcat-8.5.23.tar.gz -C /opt
mv jdk1.8.0_144/ /usr/local/java
mv apache-tomcat-8.5.23/ /usr/local/tomcat8    #為了方便使用jdk與Tomcat,我將它們重命名到系統目錄下vim /etc/profile                #添加環境變量
export JAVA_HOME=/usr/local/java
export JRE_HOME=/usr/local/java/jre
export PATH=$PATH:/usr/local/java/bin
export CLASSPATH=./:/usr/local/java/lib:/usr/local/java/jre/lib

source /etc/profile #重新加載環境變量

java -version #使用該命令查看jdk是否安裝成功,如果顯示版本號表示安裝成功

CentOS 7下搭建百萬PV網站架構詳述

ln -s /usr/local/tomcat8/bin/startup.sh /usr/bin/tomcatup
ln -s /usr/local/tomcat8/bin/shutdown.sh /usr/bin/tomcatdown      #對Tomcat的開啟與關閉命令建立軟鏈接

tomcatup #開啟tomcat

CentOS 7下搭建百萬PV網站架構詳述

cd /usr/local/tomcat8/webapps/ROOT/
mv index.jsp index.jsp.bk
vim index.jsp                        #為了方便之后的測試我修改一下tomcat的首頁
<h1>server 131!</h1>

再次對主節點的Tomcat進行訪問
CentOS 7下搭建百萬PV網站架構詳述

從節點的配置與主節點完全一樣,為了便于區分我也修改了從節點的首頁
CentOS 7下搭建百萬PV網站架構詳述

接著我用虛擬IP進行訪問,測試反向代理是否成功
CentOS 7下搭建百萬PV網站架構詳述

cd /usr/local/tomcat8/conf      #修改兩臺節點服務器的主配置文件
vim server.xml    #跳到行尾,在Host name下新增 148
<Context path=”” docBase=”SLSaleSystem” reloadable=”true” debug=”0″></Context>    #跳到行尾,在Host name下新增 日志調試信息debug為0表示信息越少,docBase指定訪問目錄

CentOS 7下搭建百萬PV網站架構詳述

三 部署MySQL數據庫(在主從服務器上都要部署)
這里為了節省時間我采用yum安裝mariadb數據庫來代替MySQL數據庫,這兩個數據庫的功能相同,而且mariadb的配置更加簡單

yum install mariadb-server mariadb -y
systemctl enable mariadb.service
systemctl start mariadb.service        #開啟數據庫
netstat -ntap | grep 3306            #查看數據庫端口

[root@localhost ~]# mysql_secure_installation        #對數據庫進行常規安全設置

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user.  If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):                #這里可以直接回車,這時我還沒有密碼
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y                            #這里問是否創建密碼,選擇是
New password:                                      #輸入新的密碼
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 … Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] n      #這里問是否刪除匿名用戶,選擇no
 … skipping.

Normally, root should only be allowed to connect from ‘localhost’.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n    #這里問是否拒絕管理員進行遠程登錄,選擇no
 … skipping.

By default, MariaDB comes with a database named ‘test’ that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] n      #這里問是否刪除默認測試數據庫,選擇no
 … skipping.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y            #最后問是否現在加載權限表,選擇yes
 … Success!

Cleaning up…

All done!  If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

導入slsaledb數據庫

mysql -u root -p < slsaledb-2014-4-10.sql
mysql -u root -p
show databases;

CentOS 7下搭建百萬PV網站架構詳述

MariaDB [(none)]> GRANT all ON slsaledb.* TO ‘root’@’%’ IDENTIFIED BY ‘123456’;    #給root用戶授權,讓其可以管理slsaledb
MariaDB [(none)]> flush privileges;      #重新加載數據庫權限

在從數據庫上進行同樣的部署

以下操作在兩臺tomcat節點做

tar zxvf SLSaleSystem.tar.gz -C /usr/local/tomcat8/webapps/        #將會員商城的軟件包解壓至Tomcat的站點目錄下
cd /usr/local/tomcat8/webapps/SLSaleSystem/WEB-INF/classes/
vim jdbc.properties          #修改數據庫IP地址為VRRP虛擬地址,以及授權用戶root和密碼123456

CentOS 7下搭建百萬PV網站架構詳述

tomcatdown
tomcatup      #重新啟動Tomcat服務讓配置文件生效

http://192.168.199.188 #通過虛擬IP訪問商城
CentOS 7下搭建百萬PV網站架構詳述

四 部署Redis群集(在主服務器和從服務器上做)

yum install epel-release -y        #使用centos7.4 默認源安裝
yum install redis -y
vim /etc/redis.conf          #修改Redis主配置文件
bind 0.0.0.0

CentOS 7下搭建百萬PV網站架構詳述

systemctl start redis.service      #開啟Redis服務
netstat -ntap | grep 6379        #查看監聽端口
redis-cli -h 192.168.199.129 -p 6379    #在主服務器上測試連接
192.168.199.129:6379> set name test    #設置name,值是test
OK
192.168.199.129:6379> get name        #獲取name值
“test”

接著在從服務器上也是進行同樣的部署
CentOS 7下搭建百萬PV網站架構詳述
在從服務器上需要在配置文件中多加如下這句話,將地址指向主服務器
CentOS 7下搭建百萬PV網站架構詳述

systemctl start redis.service            #開啟從服務器的Redis
redis-cli -h 192.168.199.130 -p 6379    #登錄Redis
192.168.199.130:6379> get name      #查看name值
“test”                            #數據會從主服務器上同步

在兩臺Tomcat節點服務器配置商城項目中的連接redis的參數

vim /usr/local/tomcat8/webapps/SLSaleSystem/WEB-INF/classes/applicationContext-mybatis.xml
38        <!–redis 配置 開始–>
47                <constructor-arg value=”192.168.199.188″/>
 48                <constructor-arg value=”6379″/>

測試緩存效果

redis-cli -h 192.168.199.188 -p 6379
192.168.199.188:6379> info
keyspace_hits:1            #命中數
keyspace_misses:0          #未命中數

以下配置redis集群主從切換—-只在主服務器上操作

redis-cli -h 192.168.199.129 info Replication
#Replication
role:master
connected_slaves:1
slave0:ip=192.168.199.130,port=6379,state=online,offset=1541,lag=1
master_repl_offset:1541
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:1540

vim /etc/redis-sentinel.conf
17 protected-mode no
CentOS 7下搭建百萬PV網站架構詳述

69 sentinel monitor mymaster 192.168.199.129 6379 1    #1表示有一臺從服務器

CentOS 7下搭建百萬PV網站架構詳述

98 sentinel down-after-milliseconds mymaster 3000

CentOS 7下搭建百萬PV網站架構詳述

systemctl start redis-sentinel.service    #啟動集群
netstat -ntap | grep 26379

systemctl start redis-sentinel.service    #在從服務器上啟動集群
netstat -ntap | grep 26379

redis-cli -h 192.168.199.129 -p 26379 info Sentinel    #再次在主服務器上進行查看
#Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.199.129:6379,slaves=1,sentinels=2

驗證主從切換
在主上

systemctl stop redis
redis-cli -h 192.168.199.129 -p 26379 info Sentinel
#Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.199.130:6379,slaves=1,sentinels=3    #主服務器進行了切換,如果再次開啟主服務器,角色并不會切換,除非關掉從服務器

驗證數據同步情況:

在主服務器上:
redis-cli -h 192.168.199.129 -p 6379
192.168.199.129:6379> set name2 test2
OK
192.168.199.129:6379> get name2
“test2”

在從服務器上:
redis-cli -h 192.168.199.130 -p 6379
192.168.199.130:6379> get name2
“test2”                                #如果無法連接或無法同步就重啟兩邊的群集服務和redis服務

五 部署MySQL主從同步

在主服務器上:
vim /etc/my.cnf          #配置主MySQL的配置文件
[mysqld]
binlog-ignore-db=mysql,information_schema
character_set_server=utf8
log_bin=mysql_bin
server_id=1
log_slave_updates=true
sync_binlog=1

systemctl restart mariadb.service    #重新啟動mariadb數據庫使配置文件生效

netstat -ntap | grep 3306

mysql -u root -p          #登錄數據庫

MariaDB [(none)]> show master status;      #查看日志文件名稱和偏移量
MariaDB [(none)]> grant replication slave on *.* to ‘rep’@’192.168.199.%’ identified by ‘123456’;    #給從數據庫授權
MariaDB [(none)]> flush privileges;          #刷新權限

在從服務器上:
vim /etc/my.cnf
[mysqld]
binlog-ignore-db=mysql,information_schema
character_set_server=utf8
log_bin=mysql_bin
server_id=2            #id值不能與主服務器相同
log_slave_updates=true
sync_binlog=1

systemctl restart mariadb.service      #重新啟動數據庫,使配置文件生效

netstat -ntap | grep 3306

mysql -u root -p
MariaDB [(none)]> change master to master_host=’192.168.199.129′,master_user=’rep’,master_password=’123456′,master_log_file=’mysql_bin.000001′,master_log_pos=473;    #設置主服務器的日志文件名稱和偏移量
MariaDB [(none)]> start slave;          #開啟同步
MariaDB [(none)]> show slave statusG;    #查看同步狀態
Slave_IO_Running: Yes
Slave_SQL_Running: Yes              #這兩條信息都顯示Yes表示同步成功

六 登錄驗證(登錄用戶名為admin)

http://192.168.199.188/

CentOS 7下搭建百萬PV網站架構詳述

在主服務器上:
redis-cli -h 192.168.199.188 -p 6379 
192.168.199.188:6379> info
keyspace_hits:4       

#對命中數進行查看

到此百萬PV網站架構搭建完成

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
亚洲一区二区三区四区五区| a在线视频观看| 北条麻妃视频在线| 无码精品a∨在线观看中文| 欧美交换配乱吟粗大25p| 中文字幕亚洲欧洲| 成人亚洲精品777777大片| 国产福利一区视频| 日韩欧美在线免费观看视频| 欧美xxxxx在线视频| 久久久久久久久久久久久国产精品| 欧美精品久久久久久久自慰| 大西瓜av在线| 蜜臀av无码一区二区三区| 一卡二卡三卡视频| 中国丰满熟妇xxxx性| 美女av免费观看| 国产无限制自拍| 欧美精品卡一卡二| 国产中文字幕二区| 精品视频免费在线播放| 欧美s码亚洲码精品m码| 人妻无码视频一区二区三区| 国产喷水theporn| 亚洲天堂国产视频| 欧美aaa在线观看| 免费cad大片在线观看| 久久久性生活视频| 热久久精品免费视频| 日本不卡一区二区在线观看| 成人性生交视频免费观看| 久久久99精品视频| 夫妻免费无码v看片| 高清av免费看| 免费观看国产视频在线| 日韩亚洲欧美视频| 亚洲成人av免费看| 激情视频小说图片| 国产精品333| 特黄视频免费观看| 国产欧美日韩小视频| 成人在线看视频| 免费不卡av网站| 国产精品专区在线| 国产精品视频分类| 18禁裸男晨勃露j毛免费观看 | 牛夜精品久久久久久久| 两性午夜免费视频| 激情深爱综合网| 亚洲精品在线视频播放| 五十路熟女丰满大屁股| 国产精品视频黄色| 污污污污污污www网站免费| www一区二区www免费| 亚洲视频在线不卡| 国产成人在线免费看| 日本高清免费观看| 欧美极品欧美精品欧美图片| 熟妇人妻va精品中文字幕| 亚洲欧美手机在线| 国产午夜福利视频在线观看| 中文字幕 日韩 欧美| 九一国产精品视频| 国产精品h视频| 国产高清视频网站| 日本免费黄视频| 欧美精品在欧美一区二区| www.国产视频.com| 黄色片视频在线免费观看| 神马午夜伦理影院| 91高清国产视频| 亚洲成熟丰满熟妇高潮xxxxx| 麻豆传媒网站在线观看| www.久久久久久久久久久| 欧美黄色免费影院| 成人免费毛片在线观看| 男人天堂成人网| 欧美丝袜在线观看| 国产高清视频网站| 国产v亚洲v天堂无码久久久| 免费看日本毛片| 免费的av在线| 4444在线观看| 干日本少妇视频| 尤物网站在线看| 五月天婷婷在线观看视频| 中文字幕第100页| 国产福利影院在线观看| 18岁视频在线观看| 欧美日韩亚洲一二三| 日韩久久一级片| 欧美激情国产精品日韩| 欧美 日韩 国产一区| 欧美 日韩精品| 国产男女激情视频| 国产视频一区二区视频| 91淫黄看大片| 日本 片 成人 在线| 亚洲免费黄色网| 欧美激情国内自拍| 色乱码一区二区三区熟女 | 每日在线观看av| 阿v天堂2018| 日韩免费视频播放| 国产超级av在线| 波多结衣在线观看| 免费黄频在线观看| 在线观看三级网站| 久青草视频在线播放| 国产天堂视频在线观看| 国产网站免费在线观看| 国语对白做受xxxxx在线中国| 爱情岛论坛成人| 网站一区二区三区| ijzzijzzij亚洲大全| 国产精品69久久久| 久久久久久香蕉| 亚州精品一二三区| 樱花草www在线| 国产精品又粗又长| 福利在线一区二区三区| 色姑娘综合天天| 国产69精品久久久久久久| 欧美性猛交xxx乱久交| 久久精品一卡二卡| 日韩中字在线观看| 欧美大尺度做爰床戏| 久久观看最新视频| 精品www久久久久奶水| 992kp免费看片| 各处沟厕大尺度偷拍女厕嘘嘘| 在线观看免费污视频| 美女黄色免费看| 999精品视频在线| 日韩人妻一区二区三区蜜桃视频| 337p粉嫩大胆噜噜噜鲁| 在线观看免费视频污| 无罩大乳的熟妇正在播放| 色国产在线视频| 亚洲熟妇无码另类久久久| 久久久精品高清| 亚洲欧洲日产国码无码久久99| 超碰在线人人爱| 国产男女免费视频| 小早川怜子一区二区三区| 1024av视频| 永久免费看av| 天天色天天综合网| 97在线免费公开视频| gogogo免费高清日本写真| 91香蕉视频污版| 国产精品宾馆在线精品酒店| 国产911在线观看| wwwwwxxxx日本| 久久久精品在线视频| 粉嫩av一区二区三区天美传媒| 三上悠亚在线一区二区| 日本免费一级视频| 霍思燕三级露全乳照| 天天在线免费视频| 中文字幕中文在线| 日本va中文字幕| 黄色片一级视频| 男女激情无遮挡| 你真棒插曲来救救我在线观看| 91欧美一区二区三区| 亚洲欧美日韩三级| 亚洲老女人av| 国产精品久久久毛片| 午夜免费一区二区| 欧美一级黄色影院| 熟妇人妻va精品中文字幕| 欧美色图另类小说| 日本福利视频在线| 日韩五码在线观看| 欧美日韩黄色一级片| 国产日产欧美视频| 国产欧美高清在线| www黄色在线| 91极品视频在线观看| 欧美日韩中文不卡| 亚洲 国产 图片| 国产系列第一页| 特大黑人娇小亚洲女mp4| 久久www视频| 无码人妻少妇伦在线电影| 久久99久久99精品| 免费看国产曰批40分钟| 国产亚洲天堂网| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | www插插插无码免费视频网站| 永久免费网站视频在线观看| 日韩精品一区二区三区四| 久久久久久久久久网| 亚洲精品乱码久久久久久自慰| 一区二区xxx| 国产又粗又爽又黄的视频| 99热久久这里只有精品| 亚洲国产精品久久久久婷蜜芽| 欧美亚洲日本在线观看|