马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
搭建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
- # 关闭防火墙
- systemctl stop firewalld
- # 关闭selinux
- setenforce 0
复制代码 设置ip:192.168.100.110
- # 编辑网卡信息
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
- # 修改
- BOOTPROTO=static
- ONBOOT=yes
- # 写入
- IPADDR=192.168.100.110
- NETMASK=255.255.255.0
- GATEWAY=192.168.100.2
复制代码 下载keepalived和ipvsadm
- yum -y install keepalived ipvsadm
复制代码 备份默认配置文件
- cp -p /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
复制代码 删除原有文件,创建新内容
- # 删除原有文件
- rm -rf /etc/keepalived/keepalived.conf
- # 创建新文件
- vi /etc/keepalived/keepalived.conf
复制代码 添加以下内容
- ! Configuration File for keepalived
- # 配置双机热备(主)
- lobal_defs {
- router_id 1
- }
- vrrp_instance VI_1 {
- state MASTER
- interface ens33
- virtual_router_id 1
- priority 120
- advert_int 1
- authentication {
- auth_type PASS
- auth_pass 123456
- }
- virtual_ipaddress {
- 192.168.100.100
- }
- }
- # 虚拟服务器ip及mysql地址
- virtual_server 192.168.100.100 80 {
- delay_loop 15
- lb_algo rr
- lb_kind DR
- protocol TCP
- real_server 192.168.100.113 80 {
- weight 1
- TCP_CHECK {
- connect_port 80
- connect_timeout 3
- nb_get_retry 3
- delay_before_retry 4
- }
- }
- real_server 192.168.100.114 80 {
- weight 1
- TCP_CHECK {
- connect_port 80
- connect_timeout 3
- nb_get_retry 3
- delay_before_retry 4
- }
- }
- }
复制代码 启动keepalived
- systemctl start keepalived
复制代码 服务模块
- # 加载系统内核的服务模块
- modprobe ip_vs
- # 查看运行状态
- lsmod | grep ip_vs
复制代码 下载net网络工具
查看网卡信息
- # 停用物理网卡
- ifconfig ens33 down
- # 启动物理网卡(如在连接工具上,需到虚拟机上启动)
- ifconfig ens33 up
- # 查看网卡信息(在ens33网卡下是否有ip:192.168.100.100)
- ip a
- # 查看LVS-DR群集策略规则
- ipvsadm -ln
复制代码 LVS-DR群集策略
2.LVS2
关闭防护墙,selinux
- # 关闭防火墙
- systemctl stop firewalld
- # 关闭selinux
- setenforce 0
复制代码 设置ip:192.168.100.111
- # 编辑网卡信息
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
- # 修改
- BOOTPROTO=static
- ONBOOT=yes
- # 写入
- IPADDR=192.168.100.111
- NETMASK=255.255.255.0
- GATEWAY=192.168.100.2
复制代码 下载keepalived和ipvsadm
- yum -y install keepalived ipvsadm
复制代码 备份默认配置文件
- cp -p /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
复制代码 删除原有文件,创建新内容
- # 删除原有文件
- rm -rf /etc/keepalived/keepalived.conf
- # 创建新文件
- vi /etc/keepalived/keepalived.conf
复制代码 添加以下内容
- ! Configuration File for keepalived
- # 配置双机热备(备)
- lobal_defs {
- router_id 2
- }
- vrrp_instance VI_1 {
- state BACKUP
- interface ens33
- virtual_router_id 1
- priority 100
- advert_int 1
- authentication {
- auth_type PASS
- auth_pass 123456
- }
- virtual_ipaddress {
- 192.168.100.100
- }
- }
- # 虚拟服务器ip及mysql地址
- virtual_server 192.168.100.100 80 {
- delay_loop 15
- lb_algo rr
- lb_kind DR
- protocol TCP
- real_server 192.168.100.113 80 {
- weight 1
- TCP_CHECK {
- connect_port 80
- connect_timeout 3
- nb_get_retry 3
- delay_before_retry 4
- }
- }
- real_server 192.168.100.114 80 {
- weight 1
- TCP_CHECK {
- connect_port 80
- connect_timeout 3
- nb_get_retry 3
- delay_before_retry 4
- }
- }
- }
复制代码 启动keepalived
- systemctl start keepalived
复制代码 服务模块
- # 加载系统内核的服务模块
- modprobe ip_vs
- # 查看运行状态
- lsmod | grep ip_vs
复制代码 下载net网络工具
查看网卡信息
- # 停用物理网卡
- ifconfig ens33 down
- # 启动物理网卡(如在连接工具上,需到虚拟机上启动)
- ifconfig ens33 up
- # 查看网卡信息(在ens33网卡下是否有ip:192.168.100.100)
- ip a
- # 查看LVS-DR群集策略规则
- ipvsadm -ln
复制代码 LVS-DR群集策略
3.nginx1
关闭防火墙,selinux
- # 关闭防火墙
- systemctl stop firewalld
- # 关闭selinux
- setenforce 0
复制代码 设置ip:192.168.100.113
- # 编辑网卡信息
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
- # 修改
- BOOTPROTO=static
- ONBOOT=yes
- # 写入
- IPADDR=192.168.100.113
- NETMASK=255.255.255.0
- GATEWAY=192.168.100.2
复制代码 下载nginx,keepalived环境
- # 配置nginx下载源
- cat >> /etc/yum.repos.d/nginx.repo << EOF
- [nginx-stable]
- name="nginx stable repo"
- baseurl=http://nginx.org/packages/centos/$releasever/$basearch
- enabled=1
- gpgcheck=0
- EOF
- # 下载环境
- yum -y install nginx keepalived
复制代码 配置nginx
- [root@localhost ~]# vi /etc/nginx/nginx.conf
- # 在http {}内添加
- upstream apache{
- server 192.168.100.118:80;
- server 192.168.100.119:80;
- }
- [root@localhost ~]# vi /etc/nginx/conf.d/default.conf
- # 在location / {}内添加
- proxy_pass http://apache;
- proxy_redirect default;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- # 重启
- [root@localhost ~]# systemctl restart nginx
复制代码 启动nginx
虚拟网卡
- # 添加虚拟网卡(回环地址)
- cat >> /etc/sysconfig/network-scripts/ifcfg-lo:0 << EOF
- DEVICE=lo:0
- IPADDR=192.168.100.100
- NETMASK=255.255.255.255
- ONBOOT=yes
- EOF
- # 重启网络
- systemctl restart network
- # 查看是否有虚拟ip
- ip a
复制代码 写入路由指向
- # 下载网络工具yum -y install net-tools
- # 添加路由信息route add -host 192.168.100.100 dev lo:0
复制代码 调整/proc内核参数,关闭ARP响应
- cat >> /etc/sysctl.conf << EOF
- net.ipv4.conf.all.arp_ignore = 1
- net.ipv4.conf.all.arp_announce = 2
- net.ipv4.conf.default.arp_ignore = 1
- net.ipv4.conf.default.arp_announce = 2
- net.ipv4.conf.lo.arp_ignore = 1
- net.ipv4.conf.lo.arp_announce = 2
- EOF
- sysctl -p
复制代码 4.nginx2
关闭防火墙,selinux
- # 关闭防火墙
- systemctl stop firewalld
- # 关闭selinux
- setenforce 0
复制代码 设置ip:192.168.100.114
- # 编辑网卡信息
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
- # 修改
- BOOTPROTO=static
- ONBOOT=yes
- # 写入
- IPADDR=192.168.100.114
- NETMASK=255.255.255.0
- GATEWAY=192.168.100.2
复制代码 下载nginx,keepalived环境
- # 配置nginx下载源
- cat >> /etc/yum.repos.d/nginx.repo << EOF
- [nginx-stable]
- name="nginx stable repo"
- baseurl=http://nginx.org/packages/centos/$releasever/$basearch
- enabled=1
- gpgcheck=0
- EOF
- # 下载环境
- yum -y install nginx keepalived
复制代码 配置nginx
- [root@localhost ~]# vi /etc/nginx/nginx.conf
- # 在http {}内添加
- upstream apache{
- server 192.168.100.118:80;
- server 192.168.100.119:80;
- }
- [root@localhost ~]# vi /etc/nginx/conf.d/default.conf
- # 在location / {}内添加
- proxy_pass http://apache;
- proxy_redirect default;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- # 重启
- [root@localhost ~]# systemctl restart nginx
复制代码 启动nginx
写入路由指向
- # 下载网络工具yum -y install net-tools
- # 添加路由信息route add -host 192.168.100.100 dev lo:0
复制代码 调整/proc内核参数,关闭ARP响应
- cat >> /etc/sysctl.conf << EOF
- net.ipv4.conf.all.arp_ignore = 1
- net.ipv4.conf.all.arp_announce = 2
- net.ipv4.conf.default.arp_ignore = 1
- net.ipv4.conf.default.arp_announce = 2
- net.ipv4.conf.lo.arp_ignore = 1
- net.ipv4.conf.lo.arp_announce = 2
- EOF
- sysctl -p
复制代码 5.nfs
关闭防火墙,selinux
- # 关闭防火墙
- systemctl stop firewalld
- # 关闭selinux
- setenforce 0
复制代码 设置ip:192.168.100.116
- # 编辑网卡信息
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
- # 修改
- BOOTPROTO=static
- ONBOOT=yes
- # 写入
- IPADDR=192.168.100.116
- NETMASK=255.255.255.0
- GATEWAY=192.168.100.2
复制代码 创建nfs目录
下载nfs环境
- yum -y install nfs-utils*
复制代码 上传论坛包到/opt
- # 下载unzip解压软件
- yum -y install unzip
- # 解压论坛软件
- unzip /opt/Discuz_X3.2_SC_UTF8.zip -d /luntan
- # 给予论坛文件权限
- chmod -R 757 /luntan/upload/{config,data,uc_*}
- cp -rf /luntan/upload/* /luntan/
复制代码 配置进程
- # 启动nfs进程守护
- systemctl start rpcbind
- systemctl start nfs
复制代码 共享
- # 编辑nfs共享配置文件
- vi /etc/exports
- # 写入以下内容
- /luntan 192.168.100.118(rw,sync,no_root_squash) 192.168.100.119(rw,sync,no_root_squash)
- # 刷新nfs文件权限
- exportfs -r
复制代码 6.web1
关闭防火墙,selinux
- # 关闭防火墙
- systemctl stop firewalld
- # 关闭selinux
- setenforce 0
复制代码 设置ip:192.168.100.118
- # 编辑网卡信息
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
- # 修改
- BOOTPROTO=static
- ONBOOT=yes
- # 写入
- IPADDR=192.168.100.118
- NETMASK=255.255.255.0
- GATEWAY=192.168.100.2
复制代码 安装环境
- # 安装httpd,php,nfs环境
- yum -y install httpd php php-mysql nfs-utils*
复制代码 挂载并启动
- # 将nfs共享目录挂载到apache下
- mount 192.168.100.116:/luntan /var/www/html
- # 启动服务
- systemctl start httpd
复制代码 7.web2
关闭防火墙,selinux
- # 关闭防火墙
- systemctl stop firewalld
- # 关闭selinux
- setenforce 0
复制代码 设置ip:192.168.100.119
- # 编辑网卡信息
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
- # 修改
- BOOTPROTO=static
- ONBOOT=yes
- # 写入
- IPADDR=192.168.100.119
- NETMASK=255.255.255.0
- GATEWAY=192.168.100.2
复制代码 安装环境
- # 安装httpd,php,nfs环境
- yum -y install httpd php php-mysql nfs-utils*
复制代码 挂载并启动
- # 将nfs共享目录挂载到apache下
- mount 192.168.100.116:/luntan /var/www/html
- # 启动服务
- systemctl start httpd
复制代码 8.mysql
关闭防护墙,selinux
- # 关闭防火墙
- systemctl stop firewalld
- # 关闭selinux
- setenforce 0
复制代码 设置ip:192.168.100.121
- # 编辑网卡信息
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
- # 修改
- BOOTPROTO=static
- ONBOOT=yes
- # 写入
- IPADDR=192.168.100.121
- NETMASK=255.255.255.0
- GATEWAY=192.168.100.2
复制代码 下载mariadb
- yum -y install mariadb mariadb-server
复制代码 修改完成重启服务
- # 重启服务
- systemctl restart mariadb
- # 配置mysql密码,123456
- mysql_secure_installation
复制代码 授权
- # 进入mysql
- mysql -uroot -p123456
- # 授权
- grant all privileges on *.* to 'root'@'%' identified by '123456';
- # 刷新权限
- flush privileges;
复制代码 三、安装
进入浏览器,输入http://192.168.100.100/upload,开始安装
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |