RAP2环境搭建整理(超详细)

RAP2是阿里开源的接口管理平台,最近搭建了一下,将部署文档整理如下:

如果途中遇坑会在文章末尾记录下来嘻嘻

首先,确定环境是否部署好。

RAP2所需的环境为:

node.js 8.9.4+

mysql 5.7+

redis 4.0+

centos 6.5(后来搭建的时候升至最新了)

确定以上服务是否部署好如下:

centos 6.6

cat /etc/issue

node.js

[root@product-C local]# node -v

v8.11.4

mysql 5.7

[root@product-C local]# service mysqld status

mysqld (pid 12488) is running...

[root@product-C local]# chkconfig --list

redis 4.0

[root@localhost bin]# whereis redis-cli

redis-cli: /usr/local/bin/redis-cli

[root@localhost bin]# whereis redis-server

redis-server: /usr/local/bin/redis-server

确认完毕后,就可以开始部署RAP2了

由于 客户端:rap2-dolores 是建立在 服务端:rap2-delos 基础上,因此先搭建服务端应用

服务端delos环境搭建

构建项目

git clone https://github.com/thx/rap2-delos.git

环境配置

修改配置

git clone 下载之后,修改这几个文件的配置config.dev.ts、config.local.ts、config.prod.ts,位置在rap2-delos/src/config。三个文件都照如下修改好:

import { IConfigOptions } from "../types";

let config: IConfigOptions = {

version: '2.3',

serve: {

port: 8888 //你自己设置的端口,我是设置的8888

}, keys: ['some secret hurr'],

session: {

key: 'rap2:sess'

},

db: {

dialect: 'mysql',

host: 'localhost', //mysql服务器的ip,这里我是用的本地的mysql

port: 3306,

username: 'root', //mysql用户名

password: 'root', //mysql密码

database: 'RAP2_DELOS_APP', //rap2的后台数据库名

pool: {

max: 5,

min: 0,

idle: 10000

},

logging: false

},

redis:{

host: 'localhost',

port: 6379

}

}

export default config

创建数据库

修改完成之后,在上述配置的数据库上建立rap2的数据库:RAP2_DELOS_APP。

DROP DATABASE RAP2_DELOS_APP;

CREATE DATABASE IF NOT EXISTS RAP2_DELOS_APP DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

启动项目

安装项目依赖包

项目根目录下执行

安装项目所需依赖

npm install

全局安装PM2

npm install -g pm2

可能会出现什么gcc版本过低等问题,可百度去升级。

安装TypeScript编译包

npm install typescript -g

如果下载缓慢,请使用淘宝npm镜像

编译

npm run build,修改了项目的代码之后一定重新编译,不然修改不起作用。

一定要先编译,如果先初始化数据库,会提示dist目录不存在

初始化数据库

项目根目录下执行(该过程比较慢,耐心等待初始化完成)

npm run create-db

编译启动项目

执行mocha测试用例和js代码规范检查,可以检查项目的配置,代码的正确性。

npm run check

运行

开发模式

启动开发模式的服务器 监视并在发生代码变更时自动重启(第一次运行比较慢,请耐心等待)

npm run dev

正常结果截图:

image

生产模式

启动生产模式服务器

npm start

看到浏览器中如下提示,表示服务端delos已经部署成功

浏览器访问效果截图:

image

客户端dolores环境搭建

构建项目

获取源代码

git clone https://github.com/thx/rap2-dolores.git

环境配置

配置文件

目录:rap2-dolores/src/config

文件:config.dev.ts;其中dev,表示开发环境,其他同理

修改:config.dev.ts文件,serve地址是 服务端 rap2-delos 部署成功后的地址,默 认:'http://localhost:8080',修改成后端服务器的ip(rap2.msq.com)+之前配置的端口(8888);

启动项目

安装项目依赖包

项目根目录下执行

npm install

如果下载缓慢,请使用淘宝npm镜像

编译启动项目

开发模式

自动监视改变后重新编译

npm run dev

备注:测试用例

npm run test

生产模式

编译React生产包

npm run build

用serve命令或nginx服务器路由到编译产出的build文件夹作为静态服务器即可

serve -s ./build -p 80

正常启动截图:

image

用nginx指向localhost:8082

浏览器访问截图:

image

ps:配置nginx后要修改host:服务器Ip rap2.msq.com。(暂不做)

遇到的问题

在进入MySQL的时候,发现会报以下错误:

image

find / -name mysql.sock

ln –s /data/mysqld/mysql.sock /var/lib/mysql/

做一个软连接即可解决

在安装项目依赖包的时候,发现npm命令无效

也是做一个软连接即可解决

ln -s /data/nodejs/bin/npm /usr/local/bin/

安装依赖的时候出现了npm WARN saveError ENOENT: no such file or directory

后来发现没有在项目根目录执行

在安装依赖npm install的过程中出了下面的错误信息,也不算安装错误吧,应该说是因为权限问题安装的不完整。

image

解决方案

1.先判断环境问题,用node -v, npm -v查看版本号,判断是否安装了node环境。

2.尝试使用下面命令越过权限安装

sudo npm install

3.如果第二步骤安装成功就可以了,如果出现下面的错误

sudo: npm:找不到命令

办法是输入下面的命令

[root@localhost rap2-delos]# sudo ln -s /usr/local/bin/node /usr/bin/node

[root@localhost rap2-delos]# sudo ln -s /usr/local/lib/node /usr/lib/node

[root@localhost rap2-delos]# sudo ln -s /usr/local/bin/npm /usr/bin/npm

[root@localhost rap2-delos]# sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

觉得npm慢可以走一下淘宝提供的捷径 npm install -g cnpm --registry=https://registry.npm.taobao.org

好了,接下来安装

[root@localhost rap2-delos]# npm install

搞定。

安装后,因为之前安装失败,有创建node_modules目录

用命令删除即可

rm -f /node_modules

之后,又出现了这个警告,百度得知,原因是因为: fsevent是mac osx系统的,在win或Linux下使用了所以会有警告,忽略即可。意思就是你已经安装成功了。

image

全局安装PM2的时候,会报一下警告,是因为没有用管理员权限运行

image

发现安装PM2成功之后,仍是无法找到命令,以下有一个通用方法解决:

解决方法:

用一个通用的命令配置环境变量

echo -e "export PATH=(npm prefix -g)/bin:PATH" >> ~/.bashrc && source ~/.bashrc

上面的命令中使用 npm prefix -g 获取node安装目录

再执行命令 ~$ serve -v

成功

安装其他命令 也能成功执行

npm run dev error [npm ERR! code ELIFECYCLE]后来没有解决

但是可以用以下简单粗暴的方法试一试: node_modules安装问题,执行以下:

rm -rf node_modules

rm package-lock.json

npm cache clear --force

npm install

安装成功后,发现除了首页,在其他页面刷新都会出现404的问题

image

原因:

image

使用nginx解决,方法如下:

首先安装nginx,可以源码自己编译安装也可以直接yum安装。这里为了方便快速,直接用yum安装

但是发现直接安装会有以下错误:

image

后来百度一下,说缺少EPEL(epel是社区强烈打造的免费开源发行软件包版本库,系统包含大概有1万多个软件包)

版本寻找地址:http://fedoraproject.org/wiki/EPEL

我需要的是适用于6.x,我直接找到源后wget下载到当前目录:

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

然后进行安装:

rpm -ivh epel-release-6-8.noarch.rpm

最后进行安装yum install nginx 解决问题。

在运行npm run test的时候,会报以下错误:

image

经过多方百度,后来问了大佬,得到了解决,超开心的

方法: 将console.log代替alert

完美解决

参考:

https://blog.csdn.net/msqplt/article/details/81450300 https://incoder.org/2018/03/27/rap2/ https://blog.csdn.net/yyzzhc999/article/details/79992505 http://www.1314yq.com/server/263.html https://blog.csdn.net/weixin_39690767/article/details/80025538 https://blog.csdn.net/weixin_37281289/article/details/79871923 https://blog.csdn.net/weixin_41004350/article/details/81737354

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,743评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,296评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,285评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,485评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,581评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,821评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,960评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,719评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,186评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,516评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,650评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,936评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,757评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,991评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,370评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,527评论 2 349

推荐阅读更多精彩内容