discuz修改用户uid_haproxy实现discuz论坛的动静分离和负载均衡
生活随笔
收集整理的這篇文章主要介紹了
discuz修改用户uid_haproxy实现discuz论坛的动静分离和负载均衡
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、在cs2、cs3、cs4上安裝httpd
[root@cs2 ~]# yum install httpd[root@cs3 ~]# yum install httpd
[root@cs4 ~]# yum install httpd
二、在cs3、cs4上安裝php和php-mysql
[root@cs3 ~]# yum install php[root@cs3 ~]# yum install php-mysql
[root@cs4 ~]# yum install php
[root@cs4 ~]# yum install php-mysql
三、在cs5上安裝mysql
[root@cs5 ~]# yum install mariadb-server四、在cs5上給dz論壇創(chuàng)建數(shù)據(jù)庫(kù)
[root@cs5 ~]# systemctl start mariadb[root@cs5 ~]# mysql
#創(chuàng)建一個(gè)discuz用的數(shù)據(jù)庫(kù),庫(kù)名叫dz
MariaDB [(none)]> create database dz;
#創(chuàng)建并授權(quán)賬號(hào)dzadmin密碼123321給dz庫(kù),授權(quán)范圍為全網(wǎng)
MariaDB [(none)]> grant all privileges on dz.* to dzadmin@'%' identified by '123321';
#授權(quán)賬號(hào)dzadmin密碼123321給dz庫(kù),授權(quán)范圍為本地
MariaDB [(none)]> grant all privileges on dz.* to dzadmin@localhost identified by '123321';
#刷新權(quán)限
MariaDB [(none)]> flush privileges;
五、配置cs2、cs3、cs4的httpd
[root@cs2 ~]# vim /etc/httpd/conf/httpd.confServerName cs2.xinfeng.com:80 #修改此處
DocumentRoot "/var/www/html/upload" #因?yàn)榇挝募€不存在,所以會(huì)報(bào)錯(cuò),等裝了dz之后再執(zhí)行之后的就OK了
[root@cs2 ~]# httpd -t
[root@cs2 ~]# systemctl start httpd
[root@cs3 ~]# vim /etc/httpd/conf/httpd.conf
ServerName cs3.xinfeng.com:80 #修改此處
DocumentRoot "/var/www/html/upload"
[root@cs3 ~]# httpd -t
[root@cs3 ~]# systemctl start httpd
[root@cs4 ~]# vim /etc/httpd/conf/httpd.conf
ServerName cs4.xinfeng.com:80 #修改此處
DocumentRoot "/var/www/html/upload"
[root@cs4 ~]# httpd -t
[root@cs4 ~]# systemctl start httpd
六、在cs3安裝discuz
[root@cs3 ~]# wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip[root@cs3 ~]# mkdir Discuz
[root@cs3 ~]# unzip -d /root/Discuz Discuz_X3.2_SC_UTF8.zip
[root@cs3 ~]# cp -a /root/Discuz/* /var/www/html/
[root@cs3 ~]# chmod -R 777 /var/www/html/upload/*
打開(kāi)cs3.xinfeng.com安裝
論壇管理員賬號(hào)admin,密碼123
七、將cs3上安裝完成后的網(wǎng)站根目錄復(fù)制到cs2和cs4上
#復(fù)制cs3下的/var/www/html所有文件到cs2/var/www/html/下[root@cs3 ~]# scp -r /var/www/html/* 192.168.1.114:/var/www/html/
#復(fù)制cs3下的/var/www/html所有文件到cs4/var/www/html/下
[root@cs3 ~]# scp -r /var/www/html/* 192.168.1.115:/var/www/html/
八、將cs3和cs4的靜態(tài)文件存放目錄掛載到cs2下
#/var/www/html/upload中需要掛載的目錄如下data ┄┄┄數(shù)據(jù)緩存及附件
static ┄┄┄靜態(tài)文件
設(shè)置cs2為NFS服務(wù)器
[root@cs2 ~]# yum install nfs-utils[root@cs2 ~]# yum install rpcbind
[root@cs2 ~]# service rpcbind start
[root@cs2 ~]# vim /etc/exports
#NFS輸出目錄為data,可以訪問(wèn)這個(gè)目錄的主機(jī)為cs3和cs4,權(quán)限為讀寫(xiě),訪問(wèn)uid為0(root),允許超過(guò)1024的端口號(hào)連接
/var/www/html/upload/data/ 192.168.1.113(rw,all_squash,anonuid=0,insecure)
/var/www/html/upload/data/ 192.168.1.115(rw,all_squash,anonuid=0,insecure)
#NFS輸出目錄為static,可以訪問(wèn)這個(gè)目錄的主機(jī)為cs3和cs4,權(quán)限為讀寫(xiě),訪問(wèn)uid為0(root),允許超過(guò)1024的端口號(hào)連接
/var/www/html/upload/static/ 192.168.1.113(rw,all_squash,anonuid=0,insecure)
/var/www/html/upload/static/ 192.168.1.115(rw,all_squash,anonuid=0,insecure)
[root@cs2 ~]# service nfs start
#查看共享狀態(tài)
[root@cs2 ~]# showmount -e
Export list for cs2.xinfeng.com:
/var/www/html/upload/static 192.168.1.115,192.168.1.113
/var/www/html/upload/data 192.168.1.115,192.168.1.113
在cs3上掛載
[root@cs3 ~]# yum install nfs-utils[root@cs3 ~]# yum install rpcbind
[root@cs3 ~]# service rpcbind start
[root@cs3 ~]# service nfs start
[root@cs3 ~]# mount 192.168.1.114:/var/www/html/upload/data/ /var/www/html/upload/data/
[root@cs3 ~]# mount 192.168.1.114:/var/www/html/upload/static/ /var/www/html/upload/static/
[root@cs3 ~]# showmount -e 192.168.1.114
Export list for 192.168.1.114:
/var/www/html/upload/static 192.168.1.115,192.168.1.113
/var/www/html/upload/data 192.168.1.115,192.168.1.113
在cs4上掛載
[root@cs4 ~]# yum install nfs-utils[root@cs4 ~]# yum install rpcbind
[root@cs4 ~]# service rpcbind start
[root@cs4 ~]# service nfs start
[root@cs4 ~]# mount 192.168.1.114:/var/www/html/upload/data/ /var/www/html/upload/data/
[root@cs4 ~]# mount 192.168.1.114:/var/www/html/upload/static/ /var/www/html/upload/static/
[root@cs4 ~]# showmount -e 192.168.1.114
Export list for 192.168.1.114:
/var/www/html/upload/static 192.168.1.115,192.168.1.113
/var/www/html/upload/data 192.168.1.115,192.168.1.113
九、在cs1上安裝配置haproxy
開(kāi)起日志功能
[root@cs1 ~]# vim /etc/rsyslog.conf#打開(kāi)或增加一下幾行,讓udp514端口處于監(jiān)聽(tīng)狀態(tài),并將日志紀(jì)錄到指定文件中
$ModLoad imudp
$UDPServerRun 514
local2.* /var/log/haproxy.log
[root@cs1 ~]# systemctl restart rsyslog.service
[root@cs1 ~]# ss -unl | grep 514
UNCONN 0 0 *:514 *:*
UNCONN 0 0 :::514 :::*
配置haproxy
[root@cs1 ~]# yum install haproxy[root@cs1 ~]# vim /etc/haproxy/haproxy.cfg
#---------------------------------------------------------------------
global #全局配置
log 127.0.0.1 local2 #日志紀(jì)錄位置
chroot /var/lib/haproxy #haproxy的工作目錄
pidfile /var/run/haproxy.pid #pid文件位置
maxconn 4000 #最大連接數(shù)
user haproxy #運(yùn)行時(shí)使用的用戶(hù)身份
group haproxy #運(yùn)行時(shí)使用的組身份
daemon #啟動(dòng)為守護(hù)進(jìn)程,不加此處運(yùn)行在前臺(tái)
stats socket /var/lib/haproxy/stats #本地訪問(wèn)stats統(tǒng)計(jì)信息時(shí)以套接字方式通信
defaults #默認(rèn)配置
mode http #已http模式運(yùn)行
log global #默認(rèn)日志為全局配置中日志的設(shè)置
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8 #除本機(jī)外所有發(fā)往服務(wù)器的請(qǐng)求首部中加入“X-Forwarded-For”首部
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000 #前端最大并發(fā)連接數(shù)
listen static #設(shè)置統(tǒng)計(jì)報(bào)告頁(yè)面
bind *:9000 #監(jiān)聽(tīng)在本機(jī)9000端口
stats enable #打開(kāi)
stats hide-version #隱藏haproxy版本
stats uri /hadzadmin?stats #統(tǒng)計(jì)頁(yè)面路徑
stats realm "HAProxy/ Static" #打開(kāi)統(tǒng)計(jì)頁(yè)面的認(rèn)證功能
stats auth hasts:123 #進(jìn)入統(tǒng)計(jì)頁(yè)面所使用的賬號(hào)hasts和密碼123
stats admin if TRUE #條件滿(mǎn)足時(shí)進(jìn)入管理級(jí)別
frontend dz #前端設(shè)置
bind *:80 #監(jiān)聽(tīng)在80端口
acl url_static path_beg -i /data /static /images /javascript /stylesheets #url開(kāi)頭為這些的靜態(tài)內(nèi)容
acl url_static path_end -i .jpg .gif .png .css .js .html .ico #url結(jié)尾帶為這些的靜態(tài)內(nèi)容
use_backend staser if url_static #如果靜態(tài)內(nèi)容符合url_static的條件,就調(diào)度到staser中的服務(wù)器
default_backend dyser #其他默認(rèn)調(diào)度到dyser中的服務(wù)器
backend dyser #后端動(dòng)態(tài)內(nèi)容服務(wù)器設(shè)置
cookie srv insert nocache #在cookie中插入srv字串防止登錄信息丟失
balance roundrobin #調(diào)度算法為輪詢(xún)
server cs3 192.168.1.113:80 check
server cs4 192.168.1.115:80 check
backend staser #后端靜態(tài)內(nèi)容服務(wù)器設(shè)置
balance roundrobin
server cs1 192.168.1.114:80 check
[root@cs1 ~]# systemctl start haproxy
修改cs2、cs3、cs4的http配置文件,讓他們能收到真實(shí)訪問(wèn)的ip
[root@cs2 ~]# vim /etc/httpd/conf/httpd.conf#修改一下內(nèi)容
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
[root@cs2 ~]# service httpd reload
#cs3和cs4執(zhí)行同樣的操作
十、測(cè)試
分別看下cs2,cs3,cs4最近的訪問(wèn)日志
[root@cs2 ~]# tail -1 /var/log/httpd/access_log192.168.1.110 - - [05/Jun/2016:16:36:12 +0800] "GET /data/attachment/forum/201606/05/161843j4au463pthh432zf.png HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0"
[root@cs3 uc_server]# tail -1 /var/log/httpd/access_log
192.168.1.110 - - [05/Jun/2016:16:33:07 +0800] "GET /misc.php?mod=patch&action=ipnotice&_r=0.40765136777967004&inajax=1&ajaxtarget=ip_notice HTTP/1.1" 200 65 "http://cs1.xinfeng.com/forum.php?mod=viewthread&tid=1&extra=page%3D1" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
[root@cs4 data]# tail -1 /var/log/httpd/access_log
192.168.1.110 - - [05/Jun/2016:16:33:07 +0800] "GET /misc.php?mod=patch&action=pluginnotice&inajax=1&ajaxtarget=plugin_notice HTTP/1.1" 200 65 "http://cs1.xinfeng.com/forum.php?mod=viewthread&tid=1&extra=page%3D1" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的discuz修改用户uid_haproxy实现discuz论坛的动静分离和负载均衡的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 怎么取消bios进入密码怎么设置 BIO
- 下一篇: win7电脑怎么设置锁屏 win7怎样设