vue 部署带 linux服务器 docker

前言

前提:写好项目 买好服务器 vue项目上传到github 服务器安装git并拉取项目


一、

具体流程

  1. 购买服务器
  2. 远程连接服务器
  3. 安装docker服务
  4. 基于docker安装nginx服务
  5. 本地后创建vue项目 并上传git
  6. 服务器安装git 并拉取代码
  7. 服务器安装nodejs 并编译代码
  8. 将编译后的静态文件放到nginx中

二、实践

1.安装docker服务

百度安装 docker 大概需要十几分钟
启动docker

2.基于docker安装nginx

// 看星最多的
docker search nginx
// 然后 需要一点时间
docker pull nginx 
// 查看有多少镜像
docker images
// 启用nginx 代理8080端口 -d是后台运行 -p端口 可以--name 去别名
docker run -d -p 8080:80 --name nginx-8080 nginx
//查看所有跑着的容器 -a 表示所有的容器
docker ps
// 然后可以访问看看你的地址

//关闭docker里的nginx 后面跟 nginx的containerid 或者用别名
docker stop nginx

3.本机文件映射

1.为本机创建实例

//到home目录
cd /home
//新建一个文件夹
mkdir chan
// cd 到新建的那个文件目录里
//再新建 nginx文件夹 里面再建俩个文件夹 conf.d html

cd 到conf.d文件夹里 新建一个配置文件 输入一下内容

server {
	listen   	80;
	server_name     lcoalhost;
	location / {
		root 	/usr/share/nginx/html;
		index	index-test.html index.html;
	}
}

![在在这里插入图片描述
cd 到html文件夹里 新建一个index-test.html文件

<html>
	<body>
		<h2>it is html</h2>
	</body>
</html>

然后开始映射

docker run -d -p 8080:80  -v  /home/chan/nginx/conf.d:/etc/nginx/conf.d  -v  /home/chan/nginx/html:/usr/share/nginx/html nginx

在这里插入图片描述

访问8081端口
在这里插入图片描述

2.开启反向代理

如图
在这里插入图片描述
里面配置文件写

server {
	listen   	80;
	server_name     lcoalhost;
	location /demo1 {
		proxy_pass http://192.168.15.131:8080/;
	}

}

在启动一个nginx(80 )专门作为反向代理的映射 将本机80端口代理到nginx80端口上

 docker run -d -p 80:80 -v /home/chan/nginx/conf.d2:/etc/nginx/conf.d nginx

3.负载均衡

新建 html3

在这里插入图片描述
里面代码如下
在这里插入图片描述

然后启动nginx8081

docker run -d -p 8081:80  -v  /home/chan/nginx/html3:/usr/share/nginx/html nginx

修改 nginx配置 增加负载均衡配置

upstream group1{
    #可以加权重 server 192.168.15.131:8080 weight=9;
	server 192.168.15.131:8080;
	server 192.168.15.131:8081;
}
server {
	listen   	80;
	server_name     lcoalhost;
	location /demo1 {
		proxy_pass http://group1/;
	}
}

4.vue项目 上传github(便于本机修改文件 即时更新到服务器)

1.把项目上传到github

2.服务器安装git并拉取代码

// 安装git
yum install -y git
然后需要一点点的配置
 git config --global user.name "xxx"
 git config --global user.email "xxx"
//然后生成公钥和私钥 一路回车
 ssh-keygen -t rsa -C "xxxx"

在这里插入图片描述

// 得到公钥 然后复制到github的setting
 cat  /root/.ssh/id_rsa.pub

在这里插入图片描述
然后new一个

一切完成后

服务器新建目录 git clone 项目
新建一个apps文件夹
在这里插入图片描述

然后再这个目录下

git clone xxxxxxxxxxx.git

拉下来后 本地编译改项目生成静态文件

5.服务器安装nodejs 并编译代码

1.安装node环境

比如安装这个版本

 wget https://nodejs.org/dist/v9.3.0/node-v9.3.0-linux-x64.tar.xz

解压包

tar -xvf node-v9.3.0-linux-x64.tar.xz

部署bin文件

ln -s /home/node-v9.3.0-linux-x64/bin/node /usr/bin/node
ln -s /home/node-v9.3.0-linux-x64/bin/npm /usr/bin/npm
// 然后测试一下
node -v
npm -v
// 需要yarn的可以自己安装一下
npm install yarn -g
ln -s /home/node-v9.3.0-linux-x64/bin/yarn  /usr/bin/yarn
yarn -v

2.进入前端项目安装依赖

//安装依赖  可能会提示版本过低提醒 这种一般是依赖版本低所造成  yarn config set ignore-engines true设置忽略
npm install
// 打包
npm run build

3.将编译后的静态文件放到nginx中

先把原来的8080端口的服务停了

重新运行 *在当前项目下 $PWD表示当前路径

 docker run -d -p 8080:80 -v $PWD/dist:/usr/share/nginx/html nginx

反向代理的时候 访问的时候会有提示js css文件找不到这时候就要配置
在这里插入图片描述

4.增加前端启动命令 优化流程

在vue项目根目录 新建一个start.sh文件

git pull
yarn --registry=https://registry.npm.tapbao.org/ && yarn build

# 删除容器
docker rm -f demo1 &> /dev/null
#启动容器
docker run -d --restart=on-failure:5\
    -p 8080:80 \
    -v $PWD/dist:/usr/share/nginx/html \
    --name demo1 nginx

然后

sh start.sh

再优化就是使用github的webhooks

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值