一,环境配置
Centos7 + Node10.13.0 + MongoDB3.2.22
安装必备的依赖工具:gcc-c++ wget
yum -y install gcc-c++ wget
二,Node安装
1.下载node
wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz
2.解压缩node
xz -d node-v10.13.0-linux-x64.tar.xz2
tar -xf node-v10.13.0-linux-x64.tar -C /usr/local/
3.配置node和npm
ln -s /usr/local/node-v10.13.0-linux-x64/bin/node /usr/bin/node
ln -s /usr/local/node-v10.13.0-linux-x64/bin/npm /usr/bin/npm
4.检测node是否成功
node -v
npm -v
三,Mongdb安装
1.下载mongodb 3.2.22安装包 这里我是去官网下载的
https://www.mongodb.com/download-center/community
选择自己需要的版本 系统以及安装包
2.解压缩并做软链接
tar -zxvf mongodb-linux-x86_64-rhel70-3.2.22.tgz -C /usr/local/
mv mongodb-linux-x86_64-rhel70-3.2.22 mongodb-linux-x86_64-3.2.22
ln -s /usr/local/mongodb-linux-x86_64-3.2.22 /usr/local/mongodb
3.配置系统环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/mongodb/bin
4.配置mongodb数据存放目录和日志文件夹
mkdir -p /data/{db,logs}
5.配置mongodb的配置文件
cd /usr/local/mongodb/bin
vim mongodb.conf
dbpath = /data/db #数据文件存放目录
logpath = /data/logs/mongodb.log #日志文件存放目录
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
noauth = true # 不进行安全验证
#auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
6.启动mongodb
./mongod -f mongodb.conf
默认端口27017
其他常用命令:
./mongod --shuitdown
如果需要创建mongodb账号,直接运行mongo命令即可
四,Git安装配置
1.下载git
wget https://github.com/git/git/archive/v2.14.1.zip
2.安装依赖
yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
3.解压缩并安装
unzip v2.14.1.zip
cd git-2.14.1
make
prefix=
/usr/local
all
make
prefix=
/usr/local
install
4.验证安装
git --version
五,Yapi安装
1.安装yapi
npm install -g yapi-cli --registry https://registry.npm.taobao.org
ln -s /usr/local/node-v10.13.0-linux-x64/bin/yapi /usr/bin/yapi
2.启动yapi
yapi server & # 需在后台启动 退出终端不要直接关闭 使用exit退出
打开浏览器初始化: 默认端口9090
如果要修改端口编辑下面配置
/usr/local/node-v10.13.0-linux-x64/lib/node_modules/yapi-cli/src/commands/server.js
https://127.0.0.1:9090
初始化成功后会有 管理员账号和默认密码
初始化管理员账号成功,账号名:"XXXX@admin.cn",密码:"ymfe.org"
3.启动服务
进入my-yapi目录 启动服务
node vendors/server/app.js &
部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问
五,常见问题
使用xshell服务,当关闭xshell 服务也随之关闭
解决方式:部署PM2
1.安装pm2
npm install -g pm2
2.连接配置pm2
ln -s /usr/local/node-v10.13.0-linux-x64/bin/pm2 /usr/bin/pm2
3.在项目中添加配置文件processes.json
自定义:
{
"apps" : [{
"name" : "Yapi",
"script": "node ./my-yapi/vendors/server/app.js",
"cwd": "./",
"watch":[
"server",
"static",
"test",
"exts",
"common"
]
}]
}
4.在项目目录下运行即可
pm2 start processes.json
PM2常用命令
pm2 start app.js -i max # 根据有效CPU数目启动最大进程数目
pm2 start app.js -i 3 # 启动3个进程
pm2 start app.js -x #用fork模式启动 app.js 而不是使用 cluster
pm2 start app.js -x -- -a 23 # 用fork模式启动 app.js 并且传递参数 (-a 23)
pm2 start app.js --name serverone # 启动一个进程并把它命名为 serverone
pm2 stop serverone # 停止 serverone 进程
pm2 start app.json # 启动进程, 在 app.json里设置选项
pm2 start app.js -i max -- -a 23 #在--之后给 app.js 传递参数
pm2 start app.js -i max -e err.log -o out.log # 启动 并 生成一个配置文件,你也可以执行用其他语言编写的app ( fork 模式):
pm2 start my-bash-script.sh -x --interpreter bash
pm2 start my-python-script.py -x --interpreter python
pm2 start app.js -i 4 #后台运行pm2,启动4个app.js
# 也可以把'max' 参数传递给 start
# 正确的进程数目依赖于Cpu的核心数目
pm2 start app.js --name my-api # 命名进程
pm2 list # 显示所有进程状态
pm2 monit # 监视所有进程
pm2 logs # 显示所有进程日志
pm2 stop all # 停止所有进程
pm2 restart all # 重启所有进程
pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)
pm2 stop 0 # 停止指定的进程
pm2 restart 0 # 重启指定的进程
pm2 startup # 产生 init 脚本 保持进程活着
pm2 web # 运行健壮的 computer API endpoint (http://localhost:9615)
pm2 delete 0 # 杀死指定的进程
pm2 delete all # 杀死所有进程
六,mongodb数据拷贝
新部署环境如果想用老的数据,mongodb支持源数据目录直接拷贝,前提是数据库版本必须一致。
拷贝前,删除初始化数据文件,将老的数据文件拷贝到新目录中即可,拷贝前注意删除lock结尾的文件以及diagnostic.data目录,否则可能导致数据库启动失败。
完成后不需要重启初始化yapi server 直接启动node服务即可。