一、修改前端项目的配置文件

注意这里的ip就是宿主机的虚拟ip配置nginx双击热备的那个虚拟ip!!

http://192.168.2.151:6201/renren-fast-server

二、打包前端项目

在前端项目路径下执行打包指令:

npm run build

如果打包比较慢执行如下命令:

npm install -g cnpm --registry=https://registry.npmmirror.com

这是淘宝的npm镜像:

https://npmmirror.com/

注:如果使用这个的话就要使用

cnpm run build

三、上传文件到宿主机

build目录的文件拷贝到宿主机的/home/fn1/renren-vue、/home/fn2/renren-vue、/home/fn3/renren-vue的目录下面

mkdir -p /home/fn1/renren-vue
mkdir -p /home/fn2/renren-vue
mkdir -p /home/fn3/renren-vue

注:使用Xterm无法上传文件夹的话就把文件压缩成.zip的压缩包上传,然后再解压,,如果没有压缩命令执行如下:

yum -y install zip
yum -y install unzipcp -r /home/fn1/renren-vue/* /home/fn2/renren-vue/
cp -r /home/fn1/renren-vue/* /home/fn3/renren-vue/

四、创建3节点的Nginx,部署前端项目

文件下载地址:

链接:https://pan.baidu.com/s/1bmRcuMQgi9RjK5WsiJnIkw
提取码:azoq

宿主机/home/fn1/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;server {listen 6501;server_name  192.168.2.104;location  /  {root  /home/fn1/renren-vue;index  index.html;}
}

}

#启动第fn1节点

docker run -it -d --name fn1 -v /home/fn1/nginx.conf:/etc/nginx/nginx.conf -v /home/fn1/renren-vue:/home/fn1/renren-vue --privileged --net=host nginx

宿主机/home/fn2/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;server {listen 6502;server_name  192.168.2.104;location  /  {root  /home/fn2/renren-vue;index  index.html;}}}

#启动第fn2节点

docker run -it -d --name fn2 -v /home/fn2/nginx.conf:/etc/nginx/nginx.conf -v /home/fn2/renren-vue:/home/fn2/renren-vue --privileged --net=host nginx

宿主机/home/fn3/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;server {listen 6503;server_name  192.168.2.104;location  /  {root  /home/fn3/renren-vue;index  index.html;}}}

启动fn3节点

#启动第fn3节点

docker run -it -d --name fn3 -v /home/fn3/nginx.conf:/etc/nginx/nginx.conf -v /home/fn3/renren-vue:/home/fn3/renren-vue --privileged --net=host nginx

五、测试登录

http://192.168.2.104:6501/#/login
http://192.168.2.104:6502/#/login
http://192.168.2.104:6503/#/login


6、配置负载均衡

宿主机/home/ff1/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 fn {server 192.168.2.104:6501;server 192.168.2.104:6502;server 192.168.2.104:6503;}server {listen       6601;server_name  192.168.2.104; location / {  proxy_pass   http://fn;index  index.html index.htm;  }  }}

#启动ff1节点

docker run -it -d --name ff1 -v /home/ff1/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx

宿主机/home/ff2/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 fn {server 192.168.2.104:6501;server 192.168.2.104:6502;server 192.168.2.104:6503;}server {listen       6602;server_name  192.168.2.104; location / {  proxy_pass   http://fn;index  index.html index.htm;  }  }

}

#启动ff2节点

docker run -it -d --name ff2 -v /home/ff2/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx

测试:

http://192.168.2.104:6601/#/home
http://192.168.2.104:6602/#/home

七、配置双机热备

ff1:

#进入ff1节点docker exec -it ff1 bash#更新软件包apt-get update#安装VIMapt-get install vim#安装Keepalivedapt-get install keepalived#编辑Keepalived配置文件(如下)vim /etc/keepalived/keepalived.conf#启动Keepalivedservice keepalived start

配置文件如下:

vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 52priority 100advert_int 1authentication {auth_type PASSauth_pass 123456}virtual_ipaddress {192.168.2.152}}virtual_server 192.168.2.151 6701 {delay_loop 3lb_algo rrlb_kind NATpersistence_timeout 50protocol TCPreal_server 192.168.2.104 6601 {weight 1}}

ff2:

#进入ff2节点docker exec -it ff2 bash#更新软件包apt-get update#安装VIMapt-get install vim#安装Keepalivedapt-get install keepalived#编辑Keepalived配置文件(如下)vim /etc/keepalived/keepalived.conf#启动Keepalivedservice keepalived start

配置文件如下:

vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 52priority 100advert_int 1authentication {auth_type PASSauth_pass 123456}virtual_ipaddress {192.168.2.152}}virtual_server 192.168.2.151 6701 {delay_loop 3lb_algo rrlb_kind NATpersistence_timeout 50protocol TCPreal_server 192.168.2.104 6602 {weight 1}}

测试登录:

192.168.2.162:6701/#/login

Docker07:打包部署前端项目相关推荐

  1. 【项目部署】使用Jenkins一键打包部署前端Vue应用

    文章目录 前言 一.准备工作 1.安装nginx 1.1 下载nginx的docker镜像 1.2 从容器中拷贝nginx配置 1.3 使用docker命令启动 1.4 测试 二.安装NodeJS插件 ...

  2. nginx怎么部署php项目,nginx怎么正确部署前端项目

    目的: nginx部署打包成为dist的前端项目 (学习视频分享:php视频教程) 相关知识:docker 安装与使用 docker pull nginx docker run --restart=o ...

  3. nginx 部署前端项目,不缓存html文件,项目发版后,不用手动刷新页面

    nginx 部署前端项目,不缓存html文件,项目发版后,不用手动刷新页面 location / {expires 1h;root /home/test/vue/dist/;index index.h ...

  4. 【linux部署前端项目】

    linux部署前端项目(本地部署) 1.nginx安装 #在/usr/local/目录下新建nginx目录 sudo mkdir nginx #升级文件权限 sudo chmod 777 mginx ...

  5. Jenkins打包部署gitee项目至阿里云ECS服务器

    原文地址:Jenkins打包部署gitee项目至阿里云ECS服务器 - BIGTREE (whwtree.com) 所需插件: Git Parameter Plug-In插件 Publish Over ...

  6. 部署前端项目 Linux系统的nginx配置

    为什么80%的码农都做不了架构师?>>>    一.本地文件上传到服务器 scp -r /c/Develop/manage-system/dist/* username@server ...

  7. win10 nginx部署前端项目(静态资源服务器和HTML)

    win10 nginx部署前端项目(静态资源服务器和HTML) niginx的安装和启停操作参照博客:https://blog.csdn.net/qq_26666947/article/details ...

  8. Gitlab CI/CD教程以及实战docker自动部署前端项目(全)

    目录 前言 1. 技术知识 1.1 docker安装gitlab 1.2 docker安装gitlab-runner 1.3 .gitlab-ci.yml编写 1.4 使用docker部署前端项目 1 ...

  9. 简单Tomcat和Nginx部署前端项目

    前言 记录一下前端项目的部署,主要最近也在做这些事情. 一.tomcat部署前端 这里我使用的事linux环境,windows下类似. 1.下载tomcat tomcat下载官网 版本很多,下载常用的 ...

  10. 【Windows部署前端项目】

    Windows部署前端项目 1.下载 nginx下载链接 2.解压下载的nginx压缩包 3.进入下载目录,在cmd中执行"start nginx"启动nginx (这个过程可能会 ...

最新文章

  1. 13.transform确保目标空间足够大
  2. multiple context container - entry point for tile click
  3. NET问答: 如何用 C# 计算相对时间 ?
  4. 360安全卫士电脑版_教你降服“流氓头子”正确打开360安全卫士的姿势,还你电脑流畅体验...
  5. 嵌入式linux面试题解析(四)——逻辑推理一
  6. Dependency Walker使用说明[转]
  7. 使用Harbor配置Kubernetes私有镜像仓库
  8. pytorch 训练人脸精度不达标
  9. Gson解析原理概述
  10. java私塾初级_Java私塾初级教程-19
  11. TTL和CMOS的区别
  12. android dff播放器,无损音乐文件的整理(dff、dsf篇)
  13. 计算机怎么把日历和时间放到桌面上,怎么把日历放到电脑桌面
  14. 计算机在档案管理中的作用,计算机技术在档案管理应用中的必要性
  15. 网络诊断,浏览器不能上网,其他软件都能上网
  16. 磁珠 符号_圆形磁珠规格常用指南「多图」
  17. 深度学习笔记(2)——pytorch实现MNIST数据集分类(FNN、CNN、RNN、LSTM、GRU)
  18. Win10 无法加载操作系统,因为无法验证文件或某个xx数字签名 蓝屏错误代码0xc0000428
  19. 一道积分不等式的最优估计探索
  20. 二八定律、木桶理论等

热门文章

  1. 良心推荐7个实用网站
  2. 计算机知识与技能比赛活动总结,中职技能大赛总结(精选6篇)
  3. lingo入门——从河北省第三届研究生建模竞赛B题开始
  4. 【超详细】免费搭建一个资源类小程序,对接wordpress网站内容
  5. 盘点阿里巴巴 34 个牛逼 GitHub 项目
  6. centos7系统文件名颜色含义
  7. android壁纸背景,android – 选择动态壁纸的背景
  8. 电脑ping手机该怎么玩(很多网友都说电脑ping不通手机)
  9. VirtualBox 磁盘扩容(亲测有效)
  10. Freenom 申请免费域名(二)