mvn clean install -Dmaven.test.skip=true安装JAVA镜像
docker pull 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.jar安装Nginx镜像
docker pull nginx创建Nginx容器,配置负载均衡
宿主机上/home/n1/nginx.conf配置文件内容如下:
usernginx;worker_processes1;error_log/var/log/nginx/error.log warn;pid/var/run/nginx.pid;events {worker_connections1024;}http {include/etc/nginx/mime.types;default_typeapplication/octet-stream;log_formatmain'$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.logmain;sendfileon;#tcp_nopushon;keepalive_timeout65;#gzipon;proxy_redirectoff;proxy_set_headerHost $host;proxy_set_headerX-Real-IP $remote_addr;proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size10m;client_body_buffer_size128k;proxy_connect_timeout5s;proxy_send_timeout5s;proxy_read_timeout5s;proxy_buffer_size4k;proxy_buffers4 32k;proxy_busy_buffers_size64k;proxy_temp_file_write_size 64k;upstream Tomcat {server 192.168.99.104:6001;server 192.168.99.104:6002;server 192.168.99.104:6003;}server {listen6101;server_name192.168.99.104;location / {proxy_passhttp://tomcat;indexindex.html index.htm;}}}创建第1个Nginx节点
docker run -it -d --name n1-v /home/n1/nginx.conf:/etc/nginx/nginx.conf--net=host --privileged nginx宿主机上/home/n2/nginx.conf配置文件内容如下:
usernginx;worker_processes1;error_log/var/log/nginx/error.log warn;pid/var/run/nginx.pid;events {worker_connections1024;}http {include/etc/nginx/mime.types;default_typeapplication/octet-stream;log_formatmain'$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.logmain;sendfileon;#tcp_nopushon;keepalive_timeout65;#gzipon;proxy_redirectoff;proxy_set_headerHost $host;proxy_set_headerX-Real-IP $remote_addr;proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size10m;client_body_buffer_size128k;proxy_connect_timeout5s;proxy_send_timeout5s;proxy_read_timeout5s;proxy_buffer_size4k;proxy_buffers4 32k;proxy_busy_buffers_size64k;proxy_temp_file_write_size 64k;upstream tomcat {server 192.168.99.104:6001;server 192.168.99.104:6002;server 192.168.99.104:6003;}server {listen6102;server_name192.168.99.104;location / {proxy_passhttp://tomcat;indexindex.html index.htm;}}}创建第2个Nginx节点
docker run -it -d --name n2-v /home/n2/nginx.conf:/etc/nginx/nginx.conf--net=host --privileged nginx在Nginx容器安装Keepalived
#进入n1节点docker exec -it n1 bash#更新软件包apt-get update#安装VIMapt-get install vim#安装Keepalivedapt-get install keepalived#编辑Keepalived配置文件(如下)vim /etc/keepalived/keepalived.conf#启动Keepalivedservice keepalived startvrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 123456}virtual_ipaddress {192.168.99.151}}virtual_server 192.168.99.151 6201 {delay_loop 3lb_algo rrlb_kind NATpersistence_timeout 50protocol TCPreal_server 192.168.99.104 6101 {weight 1}}#进入n1节点docker exec -it n2 bash#更新软件包apt-get update#安装VIMapt-get install vim#安装Keepalivedapt-get install keepalived#编辑Keepalived配置文件(如下)vim /etc/keepalived/keepalived.conf#启动Keepalivedservice keepalived startvrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 123456}virtual_ipaddress {192.168.99.151}}virtual_server 192.168.99.151 6201 {delay_loop 3lb_algo rrlb_kind NATpersistence_timeout 50protocol TCPreal_server 192.168.99.104 6102 {weight 1}}打包部署后端项目在前端项目路径下执行打包指令
npm run buildbuild目录的文件拷贝到宿主机的/home/fn1/renren-vue、/home/fn2/renren-vue、/home/fn3/renren-vue的目录下面
创建3节点的Nginx,部署前端项目
宿主机/home/fn1/nginx.conf的配置文件
推荐阅读
- 运维人员常用的 Linux 命令汇总
- 经常用冲牙器冲牙好吗 长期使用冲牙器好吗
- 掌握这些数学函数,你会在算法效率的分析时经常用到
- Docker安装Jenkins+Shell脚本自动化部署项目
- 再也不用担心 SSH 断开了 - tmux 命令
- 命令行生存指南:监视命令输出
- IT工程师都需要掌握的容器技术之Docker存储管理
- Java开发人员必知的常用类库,这些你都知道吗?
- IT工程师都需要掌握的容器技术之Docker容器网络
- oracle常用运维命令整理
