由于工作原因,有时候不得不在离线环境下开发,这篇文章将手把手的教你怎样在离线环境下部署一套RAP2。
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. 启动成功
9. 进入服务端rap2-delos-master根目录安装项目依赖文件
npm install
10. 编译代码
npm run build
11. 安装serve
npm install serve
12.启动客户端,用serve命令路由到编译产出的build文件夹作为静态服务器
serve -s ./build -p 9999
13. 启动成功
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启动正常、配置正常