关于前端:Linux-服务器CentOS安装配置mongodbnode

36次阅读

共计 3685 个字符,预计需要花费 10 分钟才能阅读完成。

筹备服务器

既然是在服务器上操作,那服务器必定得筹备好,我这里购买的是阿里云的服务器(CentOS 8),因为我本人应用的电脑是 MacBook Pro , 所以下文中对立默认环境为:CentOS 8mac 终端; 服务器公网 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 -v
npm -v

ok,版本号失常显示,装置实现。

mongodb 装置

装置阐明:

  • 零碎环境:Centos-8
  • 软件装置地位:/usr/local/mongodb
  • 数据寄存地位:/usr/local/mongodb/data
  • 日志寄存地位:/usr/local/mongodb/logs

下载地址:mongodb 抉择本人绝对应的环境和版本。

进入文件夹/usr/local, 下载 mongodb 源代码:

cd /usr/local
wget 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.tgz
mv 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/data
mkdir /usr/local/mongodb/data/db
mkdir /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=27017
fork=true   #后盾运行
auth=false  # 首次配置先关了权限验证登陆模式
journal=false

启动 mongod :

mongod -f /usr/local/mongod/etc/mongod.config

进入数据库治理命令界面:

mongo

切换到 admin 数据库,创立超级管理员帐号:

use admin
db.createUser({user: "用户名", pwd:"登录明码", roles:[{ role: "userAdminAnyDatabase", db: "admin"}] })

运行后果:

Successfully added user: {
    "user" : "用户名",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

切换到要应用的数据库,如 blog 数据库,创立这个数据库的管理员帐号:

use blog
db.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 1
esac

保留并增加脚本执行权限:

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 登录明码
  1. 报错连贯失败,回绝连贯:

    • 起因:云服务器中装置 MongoDB 后(默认端口 27017),默认绑定 IP 为 127.0.0.1,这就导致内部无法访问;
    • 决解:批改 mongod.config 配置文件,增加 bind_ip=0.0.0.0 绑定公网 IP;
    • 重启 mongodb 服务 service mongod restart
  2. 启动服务报错:

    about to fork child process, waiting until server is ready for connections.
    forked process: 11300
    ERROR: child process failed, exited with error number 48
    • 起因:没有失常敞开 mongodb 引起的,比方间接 kill -9 <pid> 导致
    • 决解:

      1. 找到 data/mongod.lock 文件,并删除 mongod.lock
      2. 以修复形式启动 mongod: mongod -f usr/local/mongodb/etc/mongod.config --repair;
      3. 再次启动 service mongod start

正文完
 0