1.安装Node.js
安装教程:https://www.runoob.com/nodejs/nodejs-install-setup.html
Node.js 安装包及源码下载地址为:https://nodejs.org/en/download/。
Node 官网已经把 linux 下载版本更改为已编译好的版本了,我们可以直接下载解压后使用:
# wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz // 下载 # tar xf node-v10.9.0-linux-x64.tar.xz // 解压 # cd node-v10.9.0-linux-x64/ // 进入解压目录 # ./bin/node -v // 执行node命令 查看版本 v10.9.0
解压文件的 bin 目录底下包含了 node、npm 等命令,我们可以使用 ln 命令来设置软连接:
ln -s /usr/software/nodejs/bin/npm /usr/local/bin/ ln -s /usr/software/nodejs/bin/node /usr/local/bin/
2.安装mongoDB
安装教程:https://www.runoob.com/mongodb/mongodb-linux-install.html
1、使用Xftp将压缩包上传到指定目录下:
cd /usr/local/
mkdir mongodb
tar -zxvf mongodb-linux-x86_64-4.0.13 #文件名根据你自己的压缩包文件名来
cd /usr/local/mongodb/
mkdir data
mkdir logs
cd ./logs
touch mongodb.log
cd ../
mkdir etc
cd etc
touch mongodb.conf
mongodb.conf配置文件:
#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
#auth=true
vi /etc/profile
- 1
在最后一行添加:
export PATH=$PATH:/usr/local/mongodb/mongodb-linux-x86_64-4.0.13/bin
- 1
使配置文件生效:
source /etc/profile
- 1
./mongod --config /usr/local/mongodb/etc/mongodb.conf
- 1
netstat -lanp | grep "27017"
- 1
显示如下进程,说明已经成功启动。
任意目录下,输入命令mongo即可进入数据库,配置了环境变量的前提下,否则需要在mongodb安装目录下的bin目录下使用 ./mongo 命令
mongo
显示如下,已经成功进入mongo数据库了,默认是进入的是test数据库,show dbs 查看当前所有数据库。
注意:如果一个数据库是没有安全认证的,不使用用户名密码即可登陆,这样是不安全的,所以我们应当授予权限才能操作数据库,这样再企业中才能保证数据安全性。
首先必须使用admin数据库,进行新用户授权。
MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。
输入以下命令:
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
授权成功后,关闭mongo服务:
db.shutdownServer()
显示如下,即已经成功关闭服务:
查看mongo服务进程,可看到服务已经成功停掉了。
然后需要到配置文件中修改配置,启用安全认证。
#开启认证,必选先添加用户
auth=true
最后开启mongo服务,进入数据库测试:
./mongod --config /usr/local/mongodb/etc/mongodb.conf
show dbs此时看不到任何数据库,说明我们的安全认证用户配置生效了。
首先使用use admin通过db.auth(‘root’,‘密码’) 输出1就是验证成功。
use admin
db.auth('root','123456')
注意:(如果是阿里云服务器,记得设置mongodb端口开放规则27017)
官网下载链接:https://nosqlbooster.com/downloads
该工具支持Windows、Linux 和 Mac OS、而且免费可放心下载。
下载后直接打开:
输入验证用户名和密码,以及数据库(随便填已有的数据库名称):
连接成功:
或者你也可以这样测试:ip+默认端口号:
这样也是连接成功了,并且外网ip也可以访问mongo数据库了。
注意:如果外网ip不能访问、也就是客户端无法连接,可能是需要放行防火墙端口。
比如防火墙放行8080端口、80端口等。
systemctl start firewalld
systemctl status firewalld
–permanent代表永久开启:
firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
firewall-cmd --zone=public --remove-port=27017/tcp --permanent
(1)设置开机启用防火墙:systemctl enable firewalld.service
(2)设置开机禁用防火墙:systemctl disable firewalld.service
命令含义:
–zone #作用域
–add-port=9200/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
3.安装yapi
离线安装yapi
在一台连接互联网的pc上安装node环境
在外网机器获取yapi源码并安装依赖
使用git获取yapi源码, 如果没有git命令请按照对应平台的安装方法安装git.
创建一个新文件夹yapi, 使用clone将yapi源码放入vendors中:
mkdir yapi cd yapi git clone https://github.com/YMFE/yapi.git vendors cp vendors/config_example.json ./config.json cd vendors npm install --production
我这里还安装了pm2
npm n install -S pm2
将创建的yapi文件夹打成压缩包得到yapi.tar.gz(其目录下有config.json和vendors)
tar -czf yapi.tar.gz yapi
至此, 所有需要外部网络的操作已经完成, 可以进行内网部署.
启动yapi
解压yapi.tar.gz
mkdir yapi
cd yapi
tar -xvf yapi.tar
cp vendors/config_example.json ./config.json
# 配置config.json
{
"port": "3000",
"adminAccount": "admin@admin.com",
"db": {
"servername": "127.0.0.1",
"DATABASE": "yapi",
"port": 27017,
"user": "root",
"pass": "xxx",
"authSource": "admin"
},
"mail": {
"enable": true,
"host": "smtp.exmail.qq.com",
"port": 465,
"from": "xxx@xxx.cn",
"auth": {
"user": "xxx@xxx.cn",
"pass": "xxx"
}
}
}
# 配置config.json
#初始化数据库
cd vendors
npm run install-server
#启动yapi server
node server/app.js