一、在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论坛创建数据库

[root@cs5 ~]# systemctl start mariadb[root@cs5 ~]# mysql#创建一个discuz用的数据库,库名叫dzMariaDB [(none)]> create database dz;#创建并授权账号dzadmin密码123321给dz库,授权范围为全网MariaDB [(none)]> grant all privileges on dz.* to dzadmin@'%' identified by '123321';#授权账号dzadmin密码123321给dz库,授权范围为本地MariaDB [(none)]> grant all privileges on dz.* to dzadmin@localhost identified by '123321';#刷新权限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"    #因为次文件还不存在,所以会报错,等装了dz之后再执行之后的就OK了[root@cs2 ~]# httpd -t[root@cs2 ~]# systemctl start httpd

[root@cs3 ~]# vim /etc/httpd/conf/httpd.confServerName 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.confServerName 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/*

打开cs3.xinfeng.com安装

论坛管理员账号admin,密码123

七、将cs3上安装完成后的网站根目录复制到cs2和cs4上

#复制cs3下的/var/www/html所有文件到cs2/var/www/html/下[root@cs3 ~]# scp -r /var/www/html/* 192.168.1.114:/var/www/html/

#复制cs3下的/var/www/html所有文件到cs4/var/www/html/下[root@cs3 ~]# scp -r /var/www/html/* 192.168.1.115:/var/www/html/

八、将cs3和cs4的静态文件存放目录挂载到cs2下

#/var/www/html/upload中需要挂载的目录如下data ┄┄┄数据缓存及附件static ┄┄┄静态文件

设置cs2为NFS服务器

[root@cs2 ~]# yum install nfs-utils[root@cs2 ~]# yum install rpcbind[root@cs2 ~]# service rpcbind start[root@cs2 ~]# vim /etc/exports#NFS输出目录为data,可以访问这个目录的主机为cs3和cs4,权限为读写,访问uid为0(root),允许超过1024的端口号连接/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,可以访问这个目录的主机为cs3和cs4,权限为读写,访问uid为0(root),允许超过1024的端口号连接/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#查看共享状态[root@cs2 ~]# showmount -eExport 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.114Export 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.114Export 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

开起日志功能

[root@cs1 ~]# vim /etc/rsyslog.conf#打开或增加一下几行,让udp514端口处于监听状态,并将日志纪录到指定文件中$ModLoad imudp$UDPServerRun 514local2.*                                                /var/log/haproxy.log[root@cs1 ~]# systemctl restart rsyslog.service[root@cs1 ~]# ss -unl | grep 514UNCONN     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    #日志纪录位置

    chroot      /var/lib/haproxy    #haproxy的工作目录    pidfile     /var/run/haproxy.pid    #pid文件位置    maxconn     4000                    #最大连接数    user        haproxy                #运行时使用的用户身份    group       haproxy                #运行时使用的组身份    daemon                            #启动为守护进程,不加此处运行在前台

    stats socket /var/lib/haproxy/stats    #本地访问stats统计信息时以套接字方式通信

defaults    #默认配置    mode                    http    #已http模式运行    log                     global    #默认日志为全局配置中日志的设置    option                  httplog    option                  dontlognull    option http-server-close    option forwardfor       except 127.0.0.0/8    #除本机外所有发往服务器的请求首部中加入“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    #前端最大并发连接数

listen static    #设置统计报告页面    bind *:9000    #监听在本机9000端口    stats enable    #打开    stats hide-version    #隐藏haproxy版本    stats uri /hadzadmin?stats    #统计页面路径    stats realm "HAProxy/ Static"    #打开统计页面的认证功能    stats auth hasts:123            #进入统计页面所使用的账号hasts和密码123    stats admin if TRUE            #条件满足时进入管理级别

frontend  dz    #前端设置    bind *:80    #监听在80端口    acl url_static path_beg -i /data /static /images /javascript /stylesheets    #url开头为这些的静态内容    acl url_static path_end -i .jpg .gif .png .css .js .html .ico    #url结尾带为这些的静态内容    use_backend staser  if url_static    #如果静态内容符合url_static的条件,就调度到staser中的服务器    default_backend             dyser    #其他默认调度到dyser中的服务器

backend dyser    #后端动态内容服务器设置    cookie srv insert nocache    #在cookie中插入srv字串防止登录信息丢失    balance     roundrobin    #调度算法为轮询    server      cs3 192.168.1.113:80 check    server      cs4 192.168.1.115:80 check

backend staser    #后端静态内容服务器设置    balance     roundrobin    server  cs1 192.168.1.114:80 check

[root@cs1 ~]# systemctl start haproxy

修改cs2、cs3、cs4的http配置文件,让他们能收到真实访问的ip

[root@cs2 ~]# vim /etc/httpd/conf/httpd.conf#修改一下内容    LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined[root@cs2 ~]# service httpd reload#cs3和cs4执行同样的操作

十、测试

分别看下cs2,cs3,cs4最近的访问日志

[root@cs2 ~]# tail -1 /var/log/httpd/access_log 192.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"

discuz修改用户uid_haproxy实现discuz论坛的动静分离和负载均衡相关推荐

  1. haproxy实现discuz论坛的动静分离和负载均衡

    一.实验拓扑图 二.实验步骤 A.实验环境准备 1.在node2.node3.node4上安装httpd [root@localhost ~]# yum -y install httpd 2.在nod ...

  2. discuz修改用户uid_discuz教程:修改用户组颜色同时并不修改用户名字的颜色

    看有些用户比较喜欢做站点用户组颜色或者用户名名字的颜色.例如: 先设置用户组的颜色.这里就拿管理组为例子 进入后台–用户–管理组–头衔颜色. 选择自己喜欢的颜色,点击确定. 出现的效果是: 有的用户觉 ...

  3. discuz修改用户uid_你知道Linux中的UID和GID的含义吗

    你知道Linux中的UID和GID的含义吗 是不是大家看到UID(user id)和GID(group id),都会立马说不就是用户和用户组ID. 但是. 当我们登陆Linux系统时,输入自己的用户名 ...

  4. 部署LAMP动静分离以及部署Discuz论坛

    通过LAMP平台部署及应用 已经可以部署出LAMP平台,来面对客户端的请求,但是由于这些组件都是在一台服务器上进行安装,如果出现问题,将导致LAMP平台的瘫痪.在实际环境中,不可能将LAMP平台都部署 ...

  5. 直接导入用户信息到discuz ucenter.

    上一篇帖子: 直接导入帖子到Discuz 论坛数据库. 结束时说要写一篇导入用户的帖子, 一直没时间, 但是咱不能做太监,不是? 所以今天赶快补上. 在做discuz整合或者迁移是, 很多人可能遇到相 ...

  6. Discuz!NT负载均衡方案

    在前面的几篇文章中,主要谈到了在Discuz!NT中的跨站缓存数据,数据库负载均衡.但如果要实现将产品分布式布置到若干机器,组成集群来共同支撑起整个业务的话,还是有一定问题的(后面会有所介绍).下面先 ...

  7. keepalived_nginx实现discuz负载均衡和高可用

    前言: 上回讲到,<lvs-dr模型负载均衡高可用Discuz>,但是由于lvs过于重量级,小公司使用有点不合时宜,本回咱们使用nginx实现此功能.望各位博友笑纳. 此次试验使用ngin ...

  8. discuz gbk php在utf8,Discuz!X2 utf8升级为Discuz!X2.5 GBK 完美解决方案

    因为原论坛安装的是Discuz!X2 UTF8比较占用空间,而且官方正好有发布了Discuz!X2.5正式版,因此就想转成直接升级为Discuz!X2.5 GBK版. 经过多次摸索并参考相关转换教程, ...

  9. discuz 版块导航function_forumlist.php,Discuz! X2扩建左侧版块导航 社区层次一目了然...

    一般情况下,当社区具有大量栏目和版块的时候,用户往往很容易迷失其中,不清楚自己所在的版块位置,同时也很难找到"目的"版块,容易造成不良的用户体验.Discuz! X2针对此问题在& ...

最新文章

  1. Python爬取B站5000条视频,揭秘为何千万人为它流泪
  2. *58.作业与进程的关系
  3. 软件设计师考试上午真题 考前速记
  4. linux mail命令查看邮件/mail控制台
  5. Netty实现原理分析
  6. Sphinx 文档例子
  7. CodeVs 1017 乘积最大(DP)
  8. 华为2014 第三题地铁换乘 java实现
  9. 把swf反编译成fla的几种方法
  10. CruiseControl入门简介
  11. Greenplum删除segment节点
  12. swift UI 学习 (一)
  13. 快速上手 Spring Boot 项目开发
  14. PS 2019 Mac版 自学入门系列(八)—— 替换背景
  15. Arduino--4*4矩阵键盘
  16. html5页面嵌入视频播放,使用HTML5在网页中嵌入音频和视频播放的基本方法
  17. 【EasyRL学习笔记】第七章 深度Q网络进阶技巧(Double-DQN、Dueling-DQN、Noisy-DQN、Distributional-DQN、Rainbow-DQN)
  18. C语言 给定一个字符串,统计‘a’的个数
  19. 计算机显卡和cpu的关系,cpu和显卡的关系
  20. 677_AUTOSAR_TR_Methodology_文档阅读4

热门文章

  1. 《2020年AI新基建发展白皮书》重磅发布,展示百度智能云多个落地案例
  2. oracle外部表导入,oracle 外部表导入时间日期类型数据
  3. PHP常用工具函数之手机号相关
  4. 针对于高频低频图像的理解
  5. 对CAS机制的理解(一)
  6. C/C++ 代码转换规范化的脚本
  7. Html table 实现Excel多格粘贴
  8. '$.browser.msie' 为空或不是对象
  9. 最小公倍数与最大公约数
  10. WPF ControlTemplate TemplateBinding