搭建discuz论坛(lvs+nginx+http+mysql+nfs)8台服务器

打印 上一主题 下一主题

主题 528|帖子 528|积分 1584

搭建discuz论坛(lvs+nginx+http+mysql+nfs)

一、IP规划

服务名IP地点服务LVS1192.168.100.110keepalived+ipvsadmLVS2192.168.100.111keepalived+ipvsadmnginx1192.168.100.113nginxnginx2192.168.100.114nginxnfs192.168.100.116nfs-utilweb1192.168.100.118httpd+php+nfs-utilweb2192.168.100.119httpd+php+nfs-utilmysql192.168.100.121mysql 虚拟IP
服务名IP地点服务虚拟ip192.168.100.100nginx+keepalived 二、配置

1.LVS1

​ 关闭防护墙,selinux
  1. # 关闭防火墙
  2. systemctl stop firewalld
  3. # 关闭selinux
  4. setenforce 0
复制代码
​ 设置ip:192.168.100.110
  1. # 编辑网卡信息
  2. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  3. # 修改
  4. BOOTPROTO=static
  5. ONBOOT=yes
  6. # 写入
  7. IPADDR=192.168.100.110
  8. NETMASK=255.255.255.0
  9. GATEWAY=192.168.100.2
复制代码
​ 下载keepalived和ipvsadm
  1. yum -y install keepalived ipvsadm
复制代码
​ 备份默认配置文件
  1. cp -p /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
复制代码
​ 删除原有文件,创建新内容
  1. # 删除原有文件
  2. rm -rf /etc/keepalived/keepalived.conf
  3. # 创建新文件
  4. vi /etc/keepalived/keepalived.conf
复制代码
​ 添加以下内容
  1. ! Configuration File for keepalived
  2. # 配置双机热备(主)
  3. lobal_defs {
  4.    router_id 1
  5. }
  6. vrrp_instance VI_1 {
  7.     state MASTER
  8.     interface ens33
  9.     virtual_router_id 1
  10.     priority 120
  11.     advert_int 1
  12.     authentication {
  13.         auth_type PASS
  14.         auth_pass 123456
  15.     }
  16.     virtual_ipaddress {
  17.         192.168.100.100
  18.     }
  19. }
  20. # 虚拟服务器ip及mysql地址
  21. virtual_server 192.168.100.100 80 {
  22.         delay_loop 15
  23.         lb_algo rr
  24.         lb_kind DR
  25.         protocol TCP
  26.         real_server 192.168.100.113 80 {
  27.         weight 1
  28.         TCP_CHECK {
  29.                 connect_port 80
  30.                 connect_timeout 3
  31.                 nb_get_retry 3
  32.                 delay_before_retry 4
  33.                 }
  34.         }
  35.         real_server 192.168.100.114 80 {
  36.         weight 1
  37.         TCP_CHECK {
  38.                 connect_port 80
  39.                 connect_timeout 3
  40.                 nb_get_retry 3
  41.                 delay_before_retry 4
  42.                 }
  43.         }
  44. }
复制代码
​ 启动keepalived
  1. systemctl start keepalived
复制代码
​ 服务模块
  1. # 加载系统内核的服务模块
  2. modprobe ip_vs
  3. # 查看运行状态
  4. lsmod | grep ip_vs
复制代码
​ 下载net网络工具
  1. yum -y install net-tools
复制代码
​ 查看网卡信息
  1. # 停用物理网卡
  2. ifconfig ens33 down
  3. # 启动物理网卡(如在连接工具上,需到虚拟机上启动)
  4. ifconfig ens33 up
  5. # 查看网卡信息(在ens33网卡下是否有ip:192.168.100.100)
  6. ip a
  7. # 查看LVS-DR群集策略规则
  8. ipvsadm -ln
复制代码
​ LVS-DR群集策略
  1. # 查看策略
  2. ipvsadm -ln
复制代码
2.LVS2

​ 关闭防护墙,selinux
  1. # 关闭防火墙
  2. systemctl stop firewalld
  3. # 关闭selinux
  4. setenforce 0
复制代码
​ 设置ip:192.168.100.111
  1. # 编辑网卡信息
  2. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  3. # 修改
  4. BOOTPROTO=static
  5. ONBOOT=yes
  6. # 写入
  7. IPADDR=192.168.100.111
  8. NETMASK=255.255.255.0
  9. GATEWAY=192.168.100.2
复制代码
​ 下载keepalived和ipvsadm
  1. yum -y install keepalived ipvsadm
复制代码
​ 备份默认配置文件
  1. cp -p /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
复制代码
​ 删除原有文件,创建新内容
  1. # 删除原有文件
  2. rm -rf /etc/keepalived/keepalived.conf
  3. # 创建新文件
  4. vi /etc/keepalived/keepalived.conf
复制代码
​ 添加以下内容
  1. ! Configuration File for keepalived
  2. # 配置双机热备(备)
  3. lobal_defs {
  4.    router_id 2
  5. }
  6. vrrp_instance VI_1 {
  7.     state BACKUP
  8.     interface ens33
  9.     virtual_router_id 1
  10.     priority 100
  11.     advert_int 1
  12.     authentication {
  13.         auth_type PASS
  14.         auth_pass 123456
  15.     }
  16.     virtual_ipaddress {
  17.         192.168.100.100
  18.     }
  19. }
  20. # 虚拟服务器ip及mysql地址
  21. virtual_server 192.168.100.100 80 {
  22.         delay_loop 15
  23.         lb_algo rr
  24.         lb_kind DR
  25.         protocol TCP
  26.         real_server 192.168.100.113 80 {
  27.         weight 1
  28.         TCP_CHECK {
  29.                 connect_port 80
  30.                 connect_timeout 3
  31.                 nb_get_retry 3
  32.                 delay_before_retry 4
  33.                 }
  34.         }
  35.         real_server 192.168.100.114 80 {
  36.         weight 1
  37.         TCP_CHECK {
  38.                 connect_port 80
  39.                 connect_timeout 3
  40.                 nb_get_retry 3
  41.                 delay_before_retry 4
  42.                 }
  43.         }
  44. }
复制代码
​ 启动keepalived
  1. systemctl start keepalived
复制代码
​ 服务模块
  1. # 加载系统内核的服务模块
  2. modprobe ip_vs
  3. # 查看运行状态
  4. lsmod | grep ip_vs
复制代码
​ 下载net网络工具
  1. yum -y install net-tools
复制代码
​ 查看网卡信息
  1. # 停用物理网卡
  2. ifconfig ens33 down
  3. # 启动物理网卡(如在连接工具上,需到虚拟机上启动)
  4. ifconfig ens33 up
  5. # 查看网卡信息(在ens33网卡下是否有ip:192.168.100.100)
  6. ip a
  7. # 查看LVS-DR群集策略规则
  8. ipvsadm -ln
复制代码
​ LVS-DR群集策略
  1. # 查看策略
  2. ipvsadm -ln
复制代码
3.nginx1

​ 关闭防火墙,selinux
  1. # 关闭防火墙
  2. systemctl stop firewalld
  3. # 关闭selinux
  4. setenforce 0
复制代码
​ 设置ip:192.168.100.113
  1. # 编辑网卡信息
  2. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  3. # 修改
  4. BOOTPROTO=static
  5. ONBOOT=yes
  6. # 写入
  7. IPADDR=192.168.100.113
  8. NETMASK=255.255.255.0
  9. GATEWAY=192.168.100.2
复制代码
​ 下载nginx,keepalived环境
  1. # 配置nginx下载源
  2. cat >> /etc/yum.repos.d/nginx.repo << EOF
  3. [nginx-stable]
  4. name="nginx stable repo"
  5. baseurl=http://nginx.org/packages/centos/$releasever/$basearch
  6. enabled=1
  7. gpgcheck=0
  8. EOF
  9. # 下载环境
  10. yum -y install nginx keepalived
复制代码
​ 配置nginx
  1. [root@localhost ~]# vi /etc/nginx/nginx.conf
  2. # 在http {}内添加
  3.     upstream apache{
  4.         server 192.168.100.118:80;
  5.         server 192.168.100.119:80;
  6.     }
  7. [root@localhost ~]# vi /etc/nginx/conf.d/default.conf
  8. # 在location / {}内添加
  9.         proxy_pass http://apache;
  10.         proxy_redirect default;
  11.         proxy_set_header Host $host;
  12.         proxy_set_header X-Real-IP $remote_addr;
  13. # 重启
  14. [root@localhost ~]# systemctl restart nginx
复制代码
​ 启动nginx
  1. systemctl start nginx
复制代码
​ 虚拟网卡
  1. # 添加虚拟网卡(回环地址)
  2. cat >> /etc/sysconfig/network-scripts/ifcfg-lo:0  << EOF
  3. DEVICE=lo:0
  4. IPADDR=192.168.100.100
  5. NETMASK=255.255.255.255
  6. ONBOOT=yes
  7. EOF
  8. # 重启网络
  9. systemctl restart network
  10. # 查看是否有虚拟ip
  11. ip a
复制代码
​ 写入路由指向
  1. # 下载网络工具yum -y install net-tools
  2. # 添加路由信息route add -host 192.168.100.100 dev lo:0
复制代码
​ 调整/proc内核参数,关闭ARP响应
  1. cat >> /etc/sysctl.conf << EOF
  2. net.ipv4.conf.all.arp_ignore = 1
  3. net.ipv4.conf.all.arp_announce = 2
  4. net.ipv4.conf.default.arp_ignore = 1
  5. net.ipv4.conf.default.arp_announce = 2
  6. net.ipv4.conf.lo.arp_ignore = 1
  7. net.ipv4.conf.lo.arp_announce = 2
  8. EOF
  9. sysctl -p
复制代码
4.nginx2

​ 关闭防火墙,selinux
  1. # 关闭防火墙
  2. systemctl stop firewalld
  3. # 关闭selinux
  4. setenforce 0
复制代码
​ 设置ip:192.168.100.114
  1. # 编辑网卡信息
  2. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  3. # 修改
  4. BOOTPROTO=static
  5. ONBOOT=yes
  6. # 写入
  7. IPADDR=192.168.100.114
  8. NETMASK=255.255.255.0
  9. GATEWAY=192.168.100.2
复制代码
​ 下载nginx,keepalived环境
  1. # 配置nginx下载源
  2. cat >> /etc/yum.repos.d/nginx.repo << EOF
  3. [nginx-stable]
  4. name="nginx stable repo"
  5. baseurl=http://nginx.org/packages/centos/$releasever/$basearch
  6. enabled=1
  7. gpgcheck=0
  8. EOF
  9. # 下载环境
  10. yum -y install nginx keepalived
复制代码
​ 配置nginx
  1. [root@localhost ~]# vi /etc/nginx/nginx.conf
  2. # 在http {}内添加
  3.     upstream apache{
  4.         server 192.168.100.118:80;
  5.         server 192.168.100.119:80;
  6.     }
  7. [root@localhost ~]# vi /etc/nginx/conf.d/default.conf
  8. # 在location / {}内添加
  9.         proxy_pass http://apache;
  10.         proxy_redirect default;
  11.         proxy_set_header Host $host;
  12.         proxy_set_header X-Real-IP $remote_addr;
  13. # 重启
  14. [root@localhost ~]# systemctl restart nginx
复制代码
​ 启动nginx
  1. systemctl start nginx
复制代码
​ 写入路由指向
  1. # 下载网络工具yum -y install net-tools
  2. # 添加路由信息route add -host 192.168.100.100 dev lo:0
复制代码
​ 调整/proc内核参数,关闭ARP响应
  1. cat >> /etc/sysctl.conf << EOF
  2. net.ipv4.conf.all.arp_ignore = 1
  3. net.ipv4.conf.all.arp_announce = 2
  4. net.ipv4.conf.default.arp_ignore = 1
  5. net.ipv4.conf.default.arp_announce = 2
  6. net.ipv4.conf.lo.arp_ignore = 1
  7. net.ipv4.conf.lo.arp_announce = 2
  8. EOF
  9. sysctl -p
复制代码
5.nfs

​ 关闭防火墙,selinux
  1. # 关闭防火墙
  2. systemctl stop firewalld
  3. # 关闭selinux
  4. setenforce 0
复制代码
​ 设置ip:192.168.100.116
  1. # 编辑网卡信息
  2. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  3. # 修改
  4. BOOTPROTO=static
  5. ONBOOT=yes
  6. # 写入
  7. IPADDR=192.168.100.116
  8. NETMASK=255.255.255.0
  9. GATEWAY=192.168.100.2
复制代码
​ 创建nfs目录
  1. # 创建共享目录
  2. mkdir /luntan
复制代码
​ 下载nfs环境
  1. yum -y install nfs-utils*
复制代码
​ 上传论坛包到/opt
  1. # 下载unzip解压软件
  2. yum -y install unzip
  3. # 解压论坛软件
  4. unzip /opt/Discuz_X3.2_SC_UTF8.zip -d /luntan
  5. # 给予论坛文件权限
  6. chmod -R 757 /luntan/upload/{config,data,uc_*}
  7. cp -rf /luntan/upload/* /luntan/
复制代码
​ 配置进程
  1. # 启动nfs进程守护
  2. systemctl start rpcbind
  3. systemctl start nfs
复制代码
​ 共享
  1. # 编辑nfs共享配置文件
  2. vi /etc/exports
  3. # 写入以下内容
  4. /luntan 192.168.100.118(rw,sync,no_root_squash) 192.168.100.119(rw,sync,no_root_squash)
  5. # 刷新nfs文件权限
  6. exportfs -r
复制代码
6.web1

​ 关闭防火墙,selinux
  1. # 关闭防火墙
  2. systemctl stop firewalld
  3. # 关闭selinux
  4. setenforce 0
复制代码
​ 设置ip:192.168.100.118
  1. # 编辑网卡信息
  2. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  3. # 修改
  4. BOOTPROTO=static
  5. ONBOOT=yes
  6. # 写入
  7. IPADDR=192.168.100.118
  8. NETMASK=255.255.255.0
  9. GATEWAY=192.168.100.2
复制代码
​ 安装环境
  1. # 安装httpd,php,nfs环境
  2. yum -y install httpd php php-mysql nfs-utils*
复制代码
​ 挂载并启动
  1. # 将nfs共享目录挂载到apache下
  2. mount 192.168.100.116:/luntan /var/www/html
  3. # 启动服务
  4. systemctl start httpd
复制代码
7.web2

​ 关闭防火墙,selinux
  1. # 关闭防火墙
  2. systemctl stop firewalld
  3. # 关闭selinux
  4. setenforce 0
复制代码
​ 设置ip:192.168.100.119
  1. # 编辑网卡信息
  2. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  3. # 修改
  4. BOOTPROTO=static
  5. ONBOOT=yes
  6. # 写入
  7. IPADDR=192.168.100.119
  8. NETMASK=255.255.255.0
  9. GATEWAY=192.168.100.2
复制代码
​ 安装环境
  1. # 安装httpd,php,nfs环境
  2. yum -y install httpd php php-mysql nfs-utils*
复制代码
​ 挂载并启动
  1. # 将nfs共享目录挂载到apache下
  2. mount 192.168.100.116:/luntan /var/www/html
  3. # 启动服务
  4. systemctl start httpd
复制代码
8.mysql

​ 关闭防护墙,selinux
  1. # 关闭防火墙
  2. systemctl stop firewalld
  3. # 关闭selinux
  4. setenforce 0
复制代码
​ 设置ip:192.168.100.121
  1. # 编辑网卡信息
  2. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  3. # 修改
  4. BOOTPROTO=static
  5. ONBOOT=yes
  6. # 写入
  7. IPADDR=192.168.100.121
  8. NETMASK=255.255.255.0
  9. GATEWAY=192.168.100.2
复制代码
​ 下载mariadb
  1. yum -y install mariadb mariadb-server
复制代码
​ 修改完成重启服务
  1. # 重启服务
  2. systemctl restart mariadb
  3. # 配置mysql密码,123456
  4. mysql_secure_installation
复制代码
​ 授权
  1. # 进入mysql
  2. mysql -uroot -p123456
  3. # 授权
  4. grant all privileges on *.* to 'root'@'%' identified by '123456';
  5. # 刷新权限
  6. flush privileges;
复制代码
三、安装

​ 进入浏览器,输入http://192.168.100.100/upload,开始安装

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

水军大提督

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表