淘宝客网站建设方案书,如何给网站做关键字,wordpress网站很卡,章丘公司做网站本文首发自掘金。
记录了我第一次成功部署node.js 和mongodb到linux服务器上了#xff0c;期间也遇到一些小坑#xff0c;但是网上各位大佬记录的文章帮了大忙#xff0c;所以我也将过程记录了下来。
安装Node
使用nvm
linux上安装node#xff0c;肯定首选nvm#xff…本文首发自掘金。
记录了我第一次成功部署node.js 和mongodb到linux服务器上了期间也遇到一些小坑但是网上各位大佬记录的文章帮了大忙所以我也将过程记录了下来。
安装Node
使用nvm
linux上安装node肯定首选nvm因为这样可以控制node的版本。
安装git
sudo apt install git# 安装完后运行一下验证是否安装成功
git --versionpull nvm的代码的
git clone https://github.com/cnpm/nvm.git ~/.nvm cd ~/.nvm git checkout git describe --abbrev0 --tags配置nvm的环境变量
echo . ~/.nvm/nvm.sh /etc/profile
source /etc/profile安装完nvm后就可以执行以下nvm的常见命令
# 安装最新版本命令
nvm install node# 查看远程版本
nvm ls-remote# 查看安装的版本
nvm ls# 查看当前使用版本
nvm current# 安装具体版本
nvm install v18.15.0# 使用安装的版本
nvm use v18.15.0升级ubuntu版本
我安装的是node 18.15然后由于我装的Ubuntu 版本老旧导致我无法运行node报错为node: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.28 not found (required by node)
然后是这条stackoverflow的答案救了我具体就是升级了ubuntu的版本 使用pm2运行代码
接下来就是让node代码跑起来。我是把代码上传到github然后直接pull到服务器上跑。这里使用pm2来监控和运行node服务
# 安装
npm i -g pm2# 跑项目
pm2 start xxx.js
# 或者跑项目的时候为项目名个名字
pm2 start xxx.js --name server-pdd# 查看运行了哪些进程
pm2 list# 停止进程
pm2 stop server-pdd # 重启
pm2 reload server-pdd
## 重启所有
pm2 reload all# 删除某个进程
pm2 delete server-pdd# 查看进程的详情
pm2 show server-pdd# 监控性能
pm2 monit Mongodb
安装运行
我是直接按照官网教程操作的教你如何下载安装mongodb运行停止。
我遇到的问题本地无法连接远程的mongodb 最后是参考这篇文章来解决的https://www.digitalocean.com/community/tutorials/how-to-configure-remote-access-for-mongodb-on-ubuntu-20-04
原因
没有让防火墙放通没有让mongodb bind ip完成前面2步后没有重启mongodb
一切都搞定后有空记得看看mongodb的官网教程。哈哈我也没有看需要的时候再看吧。
设置用户名密码
虽然是练手用的但是还是设置一下用户名和密码比较好。可参考简书上的这篇文章和官网文档。
输入mongosh 进入mongodb的交互式终端 # 切换到admin数据库
use admin# 创建管理员
db.createUser({user: admin,pwd: passwordPrompt(),roles: [{ role: userAdminAnyDatabase, db: admin },{ role: readWriteAnyDatabase, db: admin }]}
)配置好管理员后然后在/etc/mongod.conf配置文件中开启权限校验然后重启mongod。
sudo su - root
nano /etc/mongod.conf# 在 /etc/mongod.conf 增加下面2行
security:authorization: enabled# 重启
sudo systemctl restart mongod然后重新运行mongosh终端会显示连接成功了但是无法执行其他命令 # 切换到admin数据库后登录
use admin
db.auth(admin, 123456)# 如果是远程连接的话url就变成了mongodb://admin:123456你的服务器ip:27017/命令行
记录一下我觉得比较有用的命令行。
netstat -nltp # 查看服务器网络连接状态rootVM-24-5-ubuntu:~# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 298356/mongod
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/init
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 992/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 112156/sshd: /usr/s
tcp6 0 0 :::111 :::* LISTEN 1/init
tcp6 0 0 :::22 :::* LISTEN 112156/sshd: /usr/s 切换为管理员
sudo su - rootmongodb启动终止操作
## 启动
sudo systemctl start mongod## 验证状态
sudo systemctl status mongod## 停止运行
sudo systemctl stop mongod## 重启
sudo systemctl restart mongod总结
遇到问题就多查询Stack Overflow上总有解决办法的。就算完全搞砸了也没有关系不管你用的哪个云服务器厂商的服务器都可以一键重装系统再次尝试。实在实在不行还可以通过宝塔面板来可视化操作。