零基础基于windows离线搭建RAP2

由于工作原因,有时候不得不在离线环境下开发,这篇文章将手把手的教你怎样在离线环境下部署一套RAP2。

准备工作

  1. 一台互联网机器
  2. Git 下载地址:https://git-scm.com/downloads
  3. Mysql 下载地址:https://dev.mysql.com/downloads/installer/
  4. Redis 下载地址:https://github.com/MicrosoftArchive/redis/releases
  5. nodejs 下载地址:http://nodejs.cn/download/
  6. 服务端delos源码:git clone https://github.com/thx/rap2-delos.git
  7. 客户端dolores源码:git clone https://github.com/thx/rap2-dolores.git

配置

    1.配置服务端delos

    rap2-delos-master\src\config目录下的config.dev.ts、config.local.ts配置server端口和mysql的连接信息。

import { IConfigOptions } from '../types'

const config: IConfigOptions = {
    version: 'v2.9.0',
    serve: {
        port: (process.env.SERVE_PORT && parseInt(process.env.SERVE_PORT)) || 8080,
        path: '',
    },
    keys: ['some secret hurr'],
    session: {
        key: 'rap2:sess',
    },
    db: {
        dialect: 'mysql',
        host: process.env.MYSQL_URL ?? 'localhost',
        port: (process.env.MYSQL_PORT && parseInt(process.env.MYSQL_PORT)) || 3306,
        username: process.env.MYSQL_USERNAME ?? 'root',
        password: process.env.MYSQL_PASSWD ?? '123456',
        database: process.env.MYSQL_SCHEMA ?? 'rap2',
        pool: {
            max: 10,
            min: 0,
            idle: 10000,
        },
        logging: false,
        dialectOptions: {
            connectTimeout: 20000,
        },
    },
    redis: {},
    mail: {
        host: process.env.MAIL_HOST ?? 'smtp.aliyun.com',
        port: process.env.MAIL_PORT ?? 465,
        secure: process.env.MAIL_SECURE ?? true,
        auth: {
            user: process.env.MAIL_USER ?? '[email protected]',
            pass: process.env.MAIL_PASS ?? '',
        },
    },
    mailSender: process.env.MAIL_SENDER ?? '[email protected]',
}

export default config

 2.配置客户端dolores

 rap2-dolores-master\src\config目录下的config.dev.ts、config.prod.ts配置server信息。

const config: IConfig = {
    serve: `http://127.0.0.1:8080`,
    keys: ['some secret hurr'],
    session: {
        key: 'koa:sess',
    },
}

export default config

编译运行

1. 进入服务端rap2-delos-master根目录安装项目依赖文件

npm install

2. 安装pm2

npm install -g pm2

3. 安装TypeScript编译包

npm install -g typescript

4. 编译代码

npm run build

5. 刷数据库脚本

npm run create-db

6. 启动本地redis,不需要任何配置,不设置密码

7. 启动服务端(开发模式)

npm run dev

8. 启动成功

零基础基于windows离线搭建RAP2_第1张图片

9. 进入服务端rap2-delos-master根目录安装项目依赖文件

npm install

10. 编译代码

npm run build

11. 安装serve

npm install serve

12.启动客户端,用serve命令路由到编译产出的build文件夹作为静态服务器

serve -s ./build -p 9999

13. 启动成功

零基础基于windows离线搭建RAP2_第2张图片

离线部署

1. 准备工作的第234567步同步到离线服务器(windows服务器)

2. 配置环境变量path,可以看下互联网机器上的配置信息,注意node_global的配置

3. 将互联网机器中node安装目录的node_global和rap2-delos-master\node_modules、rap2-dolores-master\node_modules同步拷贝到离线服务器的该目录

4. 安装pm2、typescript、serve

npm install -g pm2
npm install -g typescript
npm install serve

5. 分别进入rap2-delos-master和rap2-dolores-master进行编译

npm run build

6. 启动运行

需要踩的坑

1. 不要用cnpm下载依赖模块

2. 注意node_global的环境变量是否正确

3.保证mysql和redis启动正常、配置正常

你可能感兴趣的:(开发工具)