centos7部署nodejs脚本
在服务器运行nodejs脚本中,遇到三个问题,进行记录
1. 用到sharp依赖,但是在服务器上安装不成功,依赖会从github上下载不下来
解决:设置使用sharp对应的镜像地址
npm config set sharp_binary_host "https://npmmirror.com/mirrors/sharp"
npm config set sharp_libvips_binary_host "https://npmmirror.com/mirrors/sharp-libvips"
2. 脚本中使用了d3.js绘制chart,需要转为图片,但是服务器上没有中文,绘制出来的图片是乱码
解决:服务器安装中文字体
查看命令fc-list
,看看服务器上有哪些字体, fc-list :lang=zh
查看有哪些中文字体
yum install fontconfig
cd /usr/share/fonts
mkdir chinese
# 将windows下的字体文件拷贝到centos的`/usr/share/fonts/chinese/`下,我拷贝的是微软雅黑
# 重新启动nodejs脚本,绘制的图就显示中文正常了
3. nodejs脚本,使用node xxx.js之后,当退出终端,进程就会自动被杀掉
解决:通过第三方模块pm2管理nodejs进程进行启动
# 全局安装pm2
npm i pm2 -g
# 启动对应脚本
pm2 start node xxx.js
# 可以通过pm2 list命令来查看有哪些nodejs的进程在运行,然后用pm2 stop +App name来停止这个进程。