部署node.js+express+mongodb(更新中)

1-Linux服务器部署MongoDB

1.升级

yum -y update

 2.下载MongoDB安装包

 3.上传安装包

上传目录 : /usr/local/

2-配置MongoDB环境变量并启动 

1.配置环境变量全局启动

vi ~/.bash_profile  

使用i命令进入编辑模式
添加: export PATH=/usr/local/mongodb/bin:$PATH

使用esc+:wq命令保存并退出

source ~/.bash_profile使其生效

2.建立数据路径data+日志路径logs

mkdir -p /usr/local/mongodb/data
mkdir -p /usr/local/mongodb/logs

3.启动MongoDB

方法一:路径命令

mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/logs/log.log -fork

如果报Permission denied,权限不够

sudo chmod +x /usr/local/mongodb/bin/mongod

 方法二:配置文件

建立mongodb.conf文件:
 

dbpath = /usr/local/mongodb/data
logpath = /usr/local/mongodb/logs/log.log
port = 27017
bind_ip = 0.0.0.0
fork = true

启动命令

mongod -f /usr/local/mongodb/mongodb.conf

4.运行MongoDB

运行:mongo
查看数据库:show dbs
退出:quit()

5.启动状态

查询启动状态:ps -ef | grep mongod
停止启动状态: kill -2 进程号

4-MongoDB开机自启动 

在/lib/systemd/system/路径下建立mongodb.service文件:

[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/mongodb.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 5-Linux服务器安装NodeJS+PM2

以 Node.js 版本 16.x 为例,以下是通过 NodeSource 安装 Node.js 特定版本的步骤:

1.首先,导入 Node.js 的 RPM 仓库:

curl -sL https://rpm.nodesource.com/setup_16.x | sudo bash -

这个命令将会为 Node.js 16.x 设置仓库。

2.然后,安装 Node.js: 

对于 CentOS 8、RHEL 8 或更高版本使用 dnf

sudo dnf clean all && sudo dnf makecache
sudo dnf install -y nodejs

3.验证 Node.js 版本: 

node --version

如果您想安装16.18.1的确切版本而不是最新的16.x版本,或者如果上述步骤中的安装不提供您需要的确切版本,您可以使用 nvm 来安装 Node.js。以下是使用 nvm 安装特定 Node.js 版本的步骤:

1.安装 nvm: 

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

安装完成后,关闭并重新打开您的终端或者加载 nvm 配置

source ~/.bashrc

2.通过 nvm 安装特定版本的 Node.js: 

nvm install 16.18.1

 3.使用 nvm 选择要使用的 Node.js 版本:

nvm use 16.18.1

服务器上配置npm淘宝镜像

npm config set registry https://registry.npm.taobao.org

验证配置是否成功

npm config get registry

安装 PM2 

sudo npm install pm2@latest -g

6-compass可视化工具连接+管理Linux服务器MongoDB

1.去 MongoDB官网下载MongoDB Compass

2.然后新建一个数据库和集合测试 

7.-NodeJS通过mongoose模块获取MongoDB数据 

1.安装node模块

寻找的是全局安装的 Node.js 模块的位置:npm root -g 

cd进入然后安装

npm install mongodb --save
npm i mongoose --save

2.mongodb模块测试
root/.nvm/test-mongo/test.js测试文件

const { MongoClient } = require('/root/.nvm/node_modules/mongodb')
const client = new MongoClient('mongodb://localhost:27017')
async function main() {
  // 连接数据库
  await client.connect()
  console.log('连接成功')
  const db = client.db('Free')
  const collection = await db.collection('Free_User').find().toArray()
  console.log(collection)

}
main()


运行命令
node root/.nvm/test-mongo/test.js

8-使用NodeJS模块express部署项目接口

1.安装node模块

也是先进入node的安装目录,然后安装包

cd /root/.nvm

npm i express --save

npm install -g supervisor

9-使用NodeJS模块express部署项目接口

1.在root文件下新建一个web文件夹

然后npm init-y

index.js文件

var express = require('/root/.nvm/node_modules/express')
var app = express()
app.listen(3000, function () {
  console.log('环境运行中')

})

app.get('/api1', function (req, res) {
  const resData = require('./api1')
  res.send(resData)
})

app.get('/api2', function (req, res) {
  const resData = require('./api2')
  resData.api2().then(r => {
    console.log(r);
    res.send(r)

  })
})

api1.js

const api1 ='hello'
module.exports=api1

 api2.js

const { MongoClient } = require('/root/.nvm/node_modules/mongodb')
const client = new MongoClient('mongodb://localhost:27017')
const api2 = async function () {
  // 连接数据库
  await client.connect()
  console.log('连接成功')
  const db = client.db('Free')
  const collection = await db.collection('Free_User').find().toArray()
  return collection

}
module.exports = {
  api2
}

 2.然后执行命令 supervisor node /root/web/index.js

3.然后打开公网:3000/api2就能看见数据

10.pm2配置开机启动

cd到你的node项目文件

pm2 start index.js

pm2 save

sudo reboot

pm2 status

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值