0

0

haproxy实现discuz论坛的动静分离和负载均衡_html/css_WEB-ITnose

php中文网

php中文网

发布时间:2016-06-21 08:46:49

|

1988人浏览过

|

来源于php中文网

原创

立即学习前端免费学习笔记(深入)”;

一、在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服务器

Buildt.ai
Buildt.ai

AI驱动的软件开发平台,可以自动生成代码片段、代码分析及其他自动化任务

下载
[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"
HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
javascript void运算符
javascript void运算符

void是一元运算符,执行右侧表达式但始终返回undefined;用于丢弃返回值、阻止a标签跳转、IIFE忽略结果、动态导入不取Promise、安全获取undefined。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1

2025.12.29

vscode的界面字体大小调整
vscode的界面字体大小调整

调整VSCode界面字体大小可通过设置编辑器或整体UI缩放实现;2.修改"Editor:FontSize"改变代码字体;3.设置"Window:ZoomLevel"调整整体界面字体;4.使用Ctrl+滚轮快捷键临时缩放。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1

2025.12.29

VSCode的注释快捷键
VSCode的注释快捷键

单行注释快捷键为Ctrl+/(Windows/Linux)或Cmd+/(macOS),块注释使用Shift+Alt+A(Windows/Linux)或Shift+Option+A(macOS),VSCode会根据语言类型自动匹配语法,如JavaScript用//,Python用#,C++用//,若快捷键无效需检查语言扩展或插件冲突。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1

2025.12.29

Golang 命令行工具(CLI)开发实战
Golang 命令行工具(CLI)开发实战

本专题系统讲解 Golang 在命令行工具(CLI)开发中的实战应用,内容涵盖参数解析、子命令设计、配置文件读取、日志输出、错误处理、跨平台编译以及常用CLI库(如 Cobra、Viper)的使用方法。通过完整案例,帮助学习者掌握 使用 Go 构建专业级命令行工具与开发辅助程序的能力。

4

2025.12.29

ip地址修改教程大全
ip地址修改教程大全

本专题整合了ip地址修改教程大全,阅读下面的文章自行寻找合适的解决教程。

165

2025.12.26

压缩文件加密教程汇总
压缩文件加密教程汇总

本专题整合了压缩文件加密教程,阅读专题下面的文章了解更多详细教程。

56

2025.12.26

wifi无ip分配
wifi无ip分配

本专题整合了wifi无ip分配相关教程,阅读专题下面的文章了解更多详细教程。

108

2025.12.26

漫蛙漫画入口网址
漫蛙漫画入口网址

本专题整合了漫蛙入口网址大全,阅读下面的文章领取更多入口。

356

2025.12.26

b站看视频入口合集
b站看视频入口合集

本专题整合了b站哔哩哔哩相关入口合集,阅读下面的文章查看更多入口。

703

2025.12.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号