进入人人开源后端项目,执行打包(修改配置文件,更改端口,打包三次生成三个JAR文件)
1、修改数据库配置信息将数据库连接的ip改成宿主机的虚拟ip:192.168.2.150,如下:
数据库密码:abc123456
注释掉原来的单节点信息,添加集群信息:
cluster:
nodes:
- 172.19.0.2:6379
- 172.19.0.3:6379
- 172.19.0.4:6379
- 172.19.0.5:6379
- 172.19.0.6:6379
- 172.19.0.7:6379
3、修改端口信息
分别改为6001、6002、6003,进行打包:
进入到工程所在目录:
我这里使用MobaXterm连接本地的:
cd /media/d/renren/renren-fast-master/renren-fast-master mvn clean install -Dmaven.test.skip=true
第一次打包是有点慢的,注意!!如下就打包成功了
链接:https://pan.baidu.com/s/1y_1CffgDr58sj4AvYSrn-Q 提取码:rwug
将下载好的镜像上传到/home目录下:
因为我这里已经导入了,就不再导入了:
如果没有导入的执行如下命令进行导入:
docker load < /home/java.tar.gz
给镜像文件改名:
docker tag docker.io/java java三、创建容器
创建3节点Java容器
#创建数据卷,上传JAR文件 docker volume create j1 #启动容器 docker run -it -d --name j1 -v j1:/home/soft --net=host java #进入j1容器 docker exec -it j1 bash #启动Java项目 nohup java -jar /home/soft/renren-fast.jar #创建数据卷,上传JAR文件 docker volume create j2 #启动容器 docker run -it -d --name j2 -v j2:/home/soft --net=host java #进入j1容器 docker exec -it j2 bash #启动Java项目 nohup java -jar /home/soft/renren-fast.jar #创建数据卷,上传JAR文件 docker volume create j3 #启动容器 docker run -it -d --name j3 -v j3:/home/soft --net=host java #进入j1容器 docker exec -it j3 bash #启动Java项目 nohup java -jar /home/soft/renren-fast.jar1、j1容器
首先创建一个数据卷:
docker volume create j1
将文件上传到j1数据卷对应的目录下:
启动容器:
docker run -it -d --name j1 -v j1:/home/soft --net=host java
进入j1容器:
docker exec -it j1 bash
启动java项目:
nohup java -jar /home/soft/renren-fast.jar
如下,j1容器以及在j1中项目就运行了
进行测试访问:注意,因为在本地windows环境下搭建,性能较差,部署完成,需要等一会。
日志查看:另开一个窗口,进入容器,在/目录下有一个:nohup.out文件:
http://192.168.2.104:6001/renren-fast/swagger/index.html
如下,可正常生成验证码
打包:
mvn clean install -Dmaven.test.skip=true(2)创建数据卷2,上传文件
docker volume create j2(3)启动容器
docker run -it -d --name j2 -v j2:/home/soft --net=host java(4)进入容器启动项目
docker exec -it j2 bash nohup java -jar /home/soft/renren-fast.jar3、j3容器(参照j1)省略 (1)修改端口号为6003,重新打包
打包:
mvn clean install -Dmaven.test.skip=true(2)创建卷,上传文件
docker volume create j3(3)启动容器
docker run -it -d --name j3 -v j3:/home/soft --net=host java(4)进入容器启动项目
docker exec -it j3 bash nohup java -jar /home/soft/renren-fast.jar四、安装Nginx镜像 1、下载地址:
链接:https://pan.baidu.com/s/1E5oyboiADwu7SQACp1imbw 提取码:hszc2、导入镜像 (1)上传镜像文件导入镜像:
上传镜像文件到/home目录下,然后导入镜像文件
docker load < /home/nginx.tar.gz(2)创建Nginx容器,配置负载均衡
注意,这里的ip是宿主机的ip!!!
我这里宿主机的ip是192.168.2.104
nginx-n1配置文件下载地址:
链接:https://pan.baidu.com/s/1JgCQjRF1pzTs3O2HTQl8_w 提取码:eso3
上传文件到这个目录下:
创建第1个Nginx节点
docker run -it -d --name n1 -v /home/n1/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx
宿主机上/home/n1/nginx.conf配置文件内容如下:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 5s;
proxy_send_timeout 5s;
proxy_read_timeout 5s;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
upstream tomcat {
server 192.168.2.104:6001;
server 192.168.2.104:6002;
server 192.168.2.104:6003;
}
server {
listen 6101;
server_name 192.168.2.104;
location / {
proxy_pass http://tomcat;
index index.html index.htm;
}
}
}
nginx-n2的配置文件下载地址:
链接:https://pan.baidu.com/s/1Nj3xORTuHf_HuuDbCJ1pug 提取码:7le6
上传文件到/home/n2目录下,没有这个目录就创建一下:
创建第2个Nginx节点
docker run -it -d --name n2 -v /home/n2/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx
宿主机上/home/n2/nginx.conf配置文件内容如下:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 5s;
proxy_send_timeout 5s;
proxy_read_timeout 5s;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
upstream tomcat {
server 192.168.2.104:6001;
server 192.168.2.104:6002;
server 192.168.2.104:6003;
}
server {
listen 6102;
server_name 192.168.2.104;
location / {
proxy_pass http://tomcat;
index index.html index.htm;
}
}
}
五、在Nginx容器安装Keepalived
1、nginx容器n1配置
#进入n1节点 docker exec -it n1 bash #更新软件包 apt-get update #安装VIM apt-get install vim #安装Keepalived apt-get install keepalived #编辑Keepalived配置文件(如下) vim /etc/keepalived/keepalived.conf #启动Keepalived service keepalived start
配置文件如下:
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.2.151
}
}
virtual_server 192.168.2.151 6201 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.2.104 6101 {
weight 1
}
}
nginx容器n1keepalived.conf配置文件下载地址:
链接:https://pan.baidu.com/s/1cZ2fg2wQHIG9jZuYWn4otA 提取码:4pr9
上传配置文件到 /home/n1下:
复制宿主机文件到容器中:(apt-get install keepalived)要在容器中先安装keepalived
docker cp /home/n1/keepalived.conf bf4c730be11b:/etc/keepalived/
启动Keepalived
service keepalived start2、nginx容器n2配置
#进入n2节点
docker exec -it n2 bash #更新软件包 apt-get update #安装VIM apt-get install vim #安装Keepalived apt-get install keepalived #编辑Keepalived配置文件(如下) vim /etc/keepalived/keepalived.conf #启动Keepalived service keepalived start
配置文件如下:
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.2.151
}
}
virtual_server 192.168.2.151 6201 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.2.104 6102 {
weight 1
}
}
nginx容器n2keepalived.conf配置文件下载地址:
链接:https://pan.baidu.com/s/1SNkQoOInqMntehTy7q3F0Q 提取码:bhd6
上传配置文件到n2下:
复制宿主机文件到容器中:(apt-get install keepalived)要在容器中先安装keepalived
docker cp /home/n1/keepalived.conf 0afad69562f7:/etc/keepalived/
启动Keepalived
service keepalived start3、进行测试
在浏览器输入如下地址:
http://192.168.2.151:6201/renren-fast/swagger/index.html
如上,说明nginx双击热备就部署好了



