筹备服务器
既然是在服务器上操作,那服务器必定得筹备好,我这里购买的是阿里云的服务器(CentOS 8
),因为我本人应用的电脑是 MacBook Pro , 所以下文中对立默认环境为:CentOS 8
、mac 终端
;服务器公网 IP 对立以:110.110.110.110
来举例。
首先登陆服务器,root 是阿里云服务器默认的账号名,终端输出命令之后会提醒输出你的服务器明码(输出明码的时候是不显示的)。
ssh root@110.110.110.110
window 零碎,能够用 Xshell 或 Putty 来登录
把yum更新到最新版本:
yum -y update
降级罕用库文件, 装置 node.js 须要通过 g++ 进行编译。
yum -y install gcc gcc-c++ autoconf
罕用的 Linux 命令:
cd 进入目录cd .. 返回上一个目录ls 查看当前目录mkdir abc 创立abc文件夹mv 挪动或重命名rm 删除一个文件或者目录
node 装置
1.进入到 /usr/local/src
目录,寄存软件源代码。
cd /usr/local/src
2.获取下载地址:node官网下载地址 ,或者下载到本地通过 scp
命令上传文件到服务器。
3.执行下载命令:
wget https://nodejs.org/dist/v14.15.0/node-v14.15.0.tar.gz
4.解压缩源文件,并且进入到压缩后的文件夹中:
tar zxf node-v14.15.0.tar.gz cd node-v14.15.0
5.执行配置脚本来进行编译预处理:
./configure
6.编译源代码,这个过程会有点长,急躁期待。
make
7.当编译实现后,咱们须要使之在零碎范畴内可用, 编译后的二进制文件将被搁置到零碎门路,默认状况下,Node
二进制文件应该放在/user/local/bin/node
文件夹下:
make install
8.建设软链接, 不然应用时会报错 "command not found"
sudo ln -s /usr/local/bin/node /usr/bin/node sudo ln -s /usr/local/lib/node /usr/lib/node sudo ln -s /usr/local/bin/npm /usr/bin/npm
9.测试一下,查看版本号:
node -vnpm -v
ok,版本号失常显示,装置实现。
mongodb 装置
装置阐明:
- 零碎环境:
Centos-8
- 软件装置地位:
/usr/local/mongodb
- 数据寄存地位:
/usr/local/mongodb/data
- 日志寄存地位:
/usr/local/mongodb/logs
下载地址:mongodb 抉择本人绝对应的环境和版本。
进入文件夹/usr/local
,下载mongodb源代码:
cd /usr/localwget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-4.4.1.tgz
解压安装包,重命名文件夹为 mongodb
tar zxvf mongodb-linux-x86_64-rhel80-4.4.1.tgzmv mongodb-linux-x86_64-rhel80-4.4.1 mongodb
配置变量环境:
export PATH=/usr/local/mongodb/bin:$PATH
间接执行此命令,只会创立出长期的环境变量,从新断开连接服务器后会生效.
环境变量长久化配置:
在 /etc/profile
文件中,增加 export PATH=/usr/local/mongodb/bin:$PATH
;
vim /etc/profile...
不会vim
操作的请自行查看相应的文档教程,比方:vim
模式下,要按i
能力插入内容,输出完之后,要按shift
加:wq
能力保留退出。
而后使零碎环境变量立刻失效:
source /etc/profile
查看是否装置胜利:
mongod --version
如图,示意装置胜利:
mongodb 启动配置
创立数据库目录和日志目录:
mkdir /usr/local/mongodb/datamkdir /usr/local/mongodb/data/dbmkdir /usr/local/mongodb/logs
配置 mongod
启动文件,在 /usr/local/mongodb/etc
下创立配置文件mongod.config
:
vim /usr/local/mongodb/etc/mongod.config
dbpath=/usr/local/mongodb/data # 数据库寄存地位(之前创立的)logpath=/usr/local/mongodb/logs/mongodb.log # 数据库日志寄存地位(之前创立的)port=27017fork=true #后盾运行auth=false # 首次配置先关了权限验证登陆模式journal=false
启动 mongod
:
mongod -f /usr/local/mongod/etc/mongod.config
进入数据库治理命令界面:
mongo
切换到 admin
数据库,创立超级管理员帐号:
use admindb.createUser({ user: "用户名", pwd:"登录明码", roles:[{ role: "userAdminAnyDatabase", db: "admin" }] })
运行后果:
Successfully added user: { "user" : "用户名", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ]}
切换到要应用的数据库,如 blog
数据库,创立这个数据库的管理员帐号:
use blogdb.createUser({ user: "用户名", pwd:"登录明码", roles:[ { role: "readWrite", db: "blog" }] //读写权限 })
- 退出服务,审慎应用
kill
间接去杀掉mongodb
过程,能够应用db.shutdownServer()
敞开. - 应用权限形式启动
MongoDB
,在配置文件中增加:auth=true
, 而后启动:mongod -f /usr/local/mongod/etc/mongod.config
- 进入
mongo shell
,应用admin
数据库use admin
并进行验证db.auth('用户名','登录明码')
,验证胜利返回1
失败返回0
;如果不验证或验证失败,是做不了任何操作的.
MongoDB设置为零碎服务并且设置开机启动
在服务器的零碎服务文件中增加 mongod
配置:
vim /etc/rc.d/init.d/mongod
输出:
start() {/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongod.config}stop() {/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongod.config --shutdown}case "$1" in start) start ;;stop) stop ;;restart) stop start ;; *) echo$"Usage: $0 {start|stop|restart}" exit 1esac
保留并增加脚本执行权限:
chmod +x /etc/rc.d/init.d/mongod
能够试试应用 service mongod [start|stop|restart|try-restart|reload|force-reload| status]
来间接治理 MongoDB
服务啦。
// 敞开service mongod stop// 启动service mongod start
近程连贯服务器数据库
确保服务器平安规定端口已凋谢、防火墙设置没问题;连贯命令:
mongo 110.110.110.110:27017/blog -u 用户名 -p 登录明码
报错连贯失败,回绝连贯:
- 起因:云服务器中装置MongoDB后(默认端口27017),默认绑定IP为
127.0.0.1
,这就导致内部无法访问; - 决解: 批改mongod.config配置文件,增加
bind_ip=0.0.0.0
绑定公网IP; - 重启mongodb服务
service mongod restart
- 起因:云服务器中装置MongoDB后(默认端口27017),默认绑定IP为
启动服务报错:
about to fork child process, waiting until server is ready for connections.forked process: 11300ERROR: child process failed, exited with error number 48
- 起因:没有失常敞开mongodb引起的,比方间接 kill -9 <pid>导致
决解:
- 找到
data/mongod.lock
文件,并删除mongod.lock
; - 以修复形式启动mongod:
mongod -f usr/local/mongodb/etc/mongod.config --repair
; - 再次启动
service mongod start
- 找到