准备环境:3台centos7
1.安装docker
上传docker源docker-ce-Qihua.repo到/etc/yum.repos.d/
yum -y install docker-ce
systemctl start docker #启动docker
2.docker部署lnmp
第一台web服务器:
[root@localhost ~]# mkdir lnmp
[root@localhost ~]# cd lnmp/
[root@localhost lnmp]# vim start.sh #编写启动脚本
#!/bin/bash
/usr/local/nginx/sbin/nginx
exec php-fpm -F
[root@localhost lnmp]# chmod +x start.sh #给执行权限
[root@localhost lnmp]# ls 所需要的包需要放在lnmp目录下
dockerfile nginx-1.12.2.tar.gz nginx.conf start.sh
[root@localhost lnmp]# vim dockerfile
FROM centos:7
ADD nginx-1.12.2.tar.gz /root/
RUN yum -y install gcc pcre-devel zlib-devel make php php-fpm php-mysql php-gd\
&& cd /root/nginx-1.12.2 \
&& ./configure \
&& make \
&& make install \
&& echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
COPY start.sh /usr/local/sbin/nginx
COPY nginx.conf /usr/local/nginx/conf/nginx.conf
CMD ["start.sh"]
[root@localhost lnmp]# docker build -t lnmp:1.1 ./ 构建镜像
[root@localhost lnmp]# docker run --name lnmp -d -p 80:80 -v /opt/html:/usr/local/nginx/html lnmp:1.1 启动容器
[root@localhost ~]# ls 上传mysql镜像
mysql5.7_utf8.tar.gz
[root@localhost ~]# tar zxf mysql5.7_utf8.tar.gz
[root@localhost ~]# docker load -i mysql5.7_utf8.tar
[root@localhost ~]# docker run --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 -e MYSQL_DATABASE=lnmp -e MYSQL_USER=tom -e MYSQL_PASSWORD=123 mysql:5.7
[root@localhost ~]# cd /opt/html/
[root@localhost html]# ls 上传DZ论坛包到/opt/html
Discuz_X3.4_SC_UTF8【20191201】.zip
[root@localhost html]# unzip Discuz_X3.4_SC_UTF8【20191201】.zip
[root@localhost html]# chmod -R 777 /opt/html/ 给权限
第二台web服务器:
前面操作和第一台都一样,也是用docker部署lnmp,后面只需要上传电商包就可以
[root@localhost ~]# cd /opt/html/
上传电商包并解压
[root@localhost html]# unzip tinyshopV2.5_data.zip
给权限
[root@localhost html]# chmod -R 777 /opt/html/
LVS负载均衡部署
#DR模式(服务器那台机器)
yum -y install ipvsadm
ifconfig ens33:0 192.168.232.100 broadcast 192.168.232.100 netmask 255.255.255.255 up
route add -host 192.168.232.100 dev ens33:0
ipvsadm -C
ipvsadm -A -t 192.168.232.100:80 -s rr
ipvsadm -a -t 192.168.232.100:80 -r 192.168.232.135:80 -g
ipvsadm -a -t 192.168.232.100:80 -r 192.168.232.136:80 -g
#RS模式(web那台机器)
ifconfig lo:0 192.168.232.100 broadcast 192.168.232.100 netmask 255.255.255.255 up
route add -host 192.168.232.100 dev lo:0
systemctl stop firewalld
setenforce 0
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p
至此,负载均衡就可以实现了,如果页面出不来就多刷新几次就好!