树莓派3B安装easy-mock
不管前端还是后端,有时都需要模拟的接口数据,easy-mock就是专门生成模拟接口数据的一个工具,感觉挺好用的,在树莓派上安装了一下。由于树莓派上的部分软件不能安装最新的,所以相应的软件版本都需要降一点。具体什么版本适配最好我没仔细测,只是试出了一个能正常运行的就够了。
References:
如果不想费劲安装可以直接用在线的服务,不过貌似最近官网的服务挂了,而且官方也没有声明,这是放弃维护了?所以只能自己动手搭了。
这里先看easymock的版本,选一个功能尽可能多的,看了下发布的版本
https://github.com/easy-mock/easy-mock/releases
因为最新版装mongodb安装非常麻烦,树莓派仓库源中的redis和mongodb版本比较老,而且最新版的node安装后启动还报错。
最终决定选择了1.5.0的版本,这一版功能基本够用。
安装仓库源中的Redis和mongodb:
# apt-get install -y redis-server
# apt-get install -y mongodb-server
启动服务
# systemctl start redis
# systemctl start mongodb
设置开机启动
# systemctl enable redis
# systemctl enable mongodb
然后node不要通过源安装,太新了,启动会报错。这里挑一个历史版本的,我试了个9.11.2的可以运行。下载后找个地方解压了就行。然后在/usr/bin目录下创建几个指向node程序的软连接,比如这里node在/usr/local/node
目录下。
# ln -s /usr/local/node/bin/node /usr/bin/node
# ln -s /usr/local/node/bin/npm /usr/bin/npm
这样就可以直接在命令行用node和npm命令了,因为/usr/bin
目录在环境变量中。
所以最终各个软件的版本如下:
[root@raspberrypi30 system]# redis-server -v
Redis server v=3.2.6 sha=00000000:0 malloc=jemalloc-3.6.0 bits=32 build=a2cab475abc2115e
[root@raspberrypi30 system]# mongo --version
MongoDB shell version: 2.4.14
[root@raspberrypi30 system]# node -v
v9.11.2
[root@raspberrypi30 system]#
然后把easymock下载解压,比如这里放在/opt/easy-mock
目录下,然后直接在目录下运行npm install
,或者用git的话:
$ git clone https://github.com/easy-mock/easy-mock.git
$ cd easy-mock && npm install
这样项目的源码和依赖就准备好了。
然后运行
$ npm run dev
启动项目,等大约2分钟访问http://IP地址:7300
就可以了。
但是这样退出shell就会自动关闭,很不方便,所以做成服务用systemd管理。
在/etc/systemd/system/
目录下,创建文件easymock.service
,这个文件名就是以后启动的程序名。
文件内容如下:
[Unit]
Description=Easy Mock Service
After=network.target
[Service]
WorkingDirectory=/opt/easy-mock/
ExecStart=/usr/bin/node app.js > /dev/null 2>&1 &
Type=idle
StandardOutput=inherit
StandardError=inherit
Restart=always
RestartSec=60
[Install]
WantedBy=multi-user.target
把WorkingDirectory
和ExecStart
的目录改改就行了。
然后再启动并设置开机启动什么的
# systemctl start easymock
# systemctl enable easymock
这样就很方便了,而且重启后自动启动,舒服。
easymock的更多设置可以去看看文档。