美文网首页
服务端渲染生产环境部署

服务端渲染生产环境部署

作者: rithe | 来源:发表于2017-05-15 12:28 被阅读119次

    一、运行环境准备

    1、安装Docker Toolbox

    Docker Toolbox 安装包包含了:

    docker 客户端

    docker-machine 工具

    docker-compose 工具

    Kitematic 一个Docker的GUI

    我们可以在官网下载并安装

    2、创建一台新的Docker Machine

    docker-machine create -driver virtualbox dockerhost

    dockerhost是数组机名称

    3、设置环境变量

    为了让本地的 docker 客户端了解需要连接的 docker 目标服务器地址,因此需要设置环境变量

    eval “$(docker-machine env dockerhost)"

    4、利用docker安装node镜像

    docker pull node

    5、利用docker安装nginx镜像

    docker pull nginx

    6、查看数组机(dockerhost)的ip

    docker-machine ip dockerhost


    二、准备部署代码

    1、新建一个文件夹ssr,将打包之后的代码(dist文件夹)放入ssr文件夹中

    2、将server.js放入ssr文件夹中,server.js文件内容如下

    3、将package.json文件放入ssr文件夹中

    4、将ssr压缩成zip格式的,再将ssr.zip从主机中拷入数组机中

    docker scp ~/www/ssr.zip dockerhost:/home/docker/ssr.zip

    需要注意的是,拷贝路径必须是绝对路径

    5、进入数组机中用ls命令可以看到ssr.zip文件,解压ssr.zip

    docker-machine ssh dockerhost

    ls

    unzip ssr.zip


    三、自定义pm2镜像

    1、进入解压后的文件夹ssr

    cd ssr

    2、创建并编辑process.yml文件

    vi process.yml

    process.yml文件内容为:

    3、创建并编辑dockerfile文件

    vi dockerfile

    dockerfile文件内容为:

    执行如下命令构建一个镜像

    docker build -t ssr/pm2 .

    执行完之后就会构建一个名为ssr/pm2的镜像

    4、执行如下命令,用ssr/pm2镜像启动一个容器

    docker run -d --name testpm2 -p 8080:8080 ssr/pm2


    四、自定义Nginx镜像

    1、在新的文件夹里创建并编辑dockerfile文件

    2、创建并编辑nginx.conf文件

    执行下面的命令创建一个Nginx镜像

    docker build -t ssr/nginx .

    3、使用docker images查看镜像

    docker images

    4、创建一个Nginx容器并连接之前创建的testpm2容器

    docker run -d --name nginx -p 80:8089 --link testpm2:testpm2 ssr/nginx

    5、在主机的浏览器地址中输入数字机的ip地址即可访问,如:192.168.99.100


    五、小结

    1、在浏览器中访问数组机的ip时出现不能访问的情况,应该容器没有启动起来,在上述启动容器的步骤中用的是-d命令,-d表示让容器在后台运行。若想查看容器的具体错误,在启动容器的时候将-d换成-it即可 2、常用docker命令

    docker-machine ssh dockerhost //进入数组机

    docker-machine start dockerhost //启动数组机

    docker-machine scp 源路径 目标路径 //将文件从主机中拷入数组机中,源路径是文件所在主机的位置,目标路径是数组机的路径(dockerhost:/home/docker/**.zip)

    docker run -it --name test node//启动一个node容器,名为test

    docker build -t test/node .//创建test/node镜像

    docker images //查看镜像列表

    docker ps //查看正在运行的容器

    docker ps -a //查看所有容器

    docker start test 启动名为test容器

    docker stop test 停止名为test容器

    docker rm test //删除名为test容器

    docker rm test -f //删除正在运行中的test容器

    docker rmi test/node //删除名为test/node的镜像

    相关文章

      网友评论

          本文标题:服务端渲染生产环境部署

          本文链接:https://www.haomeiwen.com/subject/aaqhxxtx.html