Loading...
墨滴

沈博士

2021/04/01  阅读:98  主题:绿意

jean部署node.js服务

jean部署node.js服务

jean准备工作

详见同程艺龙知识库搜索查询部署

node.js 部署关键点

  1. 点击进入如下页面
  1. 将下图红框内区域全部删除,仅保留绿色框内(项目标识符)
  1. 将如下内容拷贝进上述的红框中去 customCommand部分:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
nvm install v10.15.3
nvm use v10.15.3
rm -f ${WORKSPACE}/init_furt.tar.gz
wget -c http://tcstore1.17usoft.com/furt/init_furt.tar.gz  -P ${WORKSPACE}/

dockerFile部分(注意replace替换部分内容):

FROM docker.17usoft.com/base/nodejs:10.15.3v2
----replace start(此部分替换为上图中绿色框处的部分,替换后删除注释)----
COPY / /usr/local/wandaly.tclvye.website
WORKDIR /usr/local/wandaly.tclvye.website
----replace end -----
RUN npm set registry http://nexus.17usoft.com/repository/npm-all/

RUN npm install
---删除部分start(build一般在node.js项目中不存在,不删除构建时会报错)--
RUN npm run build
---删除部分end--
CMD . /init_furt/init_furt.sh;npm start

COPY ${WORKSPACE}/init_furt.tar.gz /
RUN mkdir /init_furt; tar -C /init_furt -zxvf /init_furt.tar.gz
RUN if type yum; then yum -y clean all; rm -rf /etc/yum.repos.d/*.repo; mv /init_furt/aliyun.repo /etc/yum.repos.d/aliyun.repo; yum -y install yum-plugin-ovl; yum -y install iptables iproute; elif cat /etc/issue | grep Debian > /dev/null ; then sed -i "s@http://deb.debian.org@http://mirrors.17usoft.com@g;/security.debian.org/d" /etc/apt/sources.list; echo "Debian system"; apt-get -y update; apt-get -y install iptables iproute2 ;elif type apt-get; then mv /init_furt/sources.list /etc/apt/sources.list; apt-get -y update; apt-get -y install iptables iproute2; fi;

健康检查

编写接口供给jean进行健康检查

'use strict';
module.exports = app => {
    class HealthController extends app.Controller {
        async index() {
            const { ctx } = this;
            ctx.body = {
                code:200,
                message:'健康检查'
            }
        }
    }
    return HealthController

--daemon(后台守护进程)配置(重要)

删除--daemon,原因是在Docker容器中不支持后台守护进程启动,二npm run start中如果包含 egg-scripts start --daemon 的话就是后台运行

解决方法很简单,我们去掉--daemon前台启动就可以了 如果不删除,部署的服务会反复重新启动

如何访问

部署成功后将会显示如下页面

点击==运行日志==打开如下界面

红框区域内容为正确访问路径

沈博士

2021/04/01  阅读:98  主题:绿意

作者介绍

沈博士