node+mongoDB项目:从服务器配置到项目部署
1、购买阿里云轻量服务器。
登陆阿里云平台(https://www.aliyun.com/),进入产品-轻量应用服务器,点击立即购买,我们选择第一个默认勾选的linux系统面板(也可以自己选择其他配置)。



付款完成后,我们进入控制台,就可以看到我们刚刚购买的服务器已经在运行了。
我们可以在平台上点击远程登陆,选择远程登陆方式,就可以进入服务器进行操作了。


首次建议先点击重置密码,后续我们可以选择在本地进入cmd使用ssh命令公网IP+密码的方式远程连接我们的服务器进行操作。
2、远程登陆服务器。
我们使用cmd命令行工具远程连接服务器进行操作。
进入cmd面板,输入ssh命令:
ssh root@公网IP // 选择root管理员用户登陆服务器
3、安装mongoDB。
这里有个坑:服务器默认的操作系统是centOS 3版本,这个版本地较低,不兼容mongoDB,所以刚开始下载mongoDB好几次都失败,后面找到原因是操作系统版本的问题。所以我们要先升级下操作系统,方法就是进入阿里云控制台,找到我们的服务器,点击更多操作-重置系统-重置为其他镜像,我这里选择的还是centOS,选择的高版本,点击确认重置,等待服务器重置完成就可以了。


系统升级完成后,我们重新使用ssh命令登陆服务器,接着开始下载mongoDB,在命令行输入命令:
注意:
CentOS/Alibaba Cloud Linux/Red Hat:使用 yum 包管理器。
Ubuntu/Debian:使用 apt 包管理器。
/*如果是使用apt包管理器的话,将 yum 命令替换成 apt*/ sudo yum update // 更新yum仓库 sudo yum install -y mongodb-org // 下载mongoDB
如果下载失败的话,可以尝试清理yum缓存,重新下载:
sudo yum clean all // 清理缓存
下载完成后,我们启动mongoDB服务,并设置开机自启动:
sudo systemctl start mongod // 启动mongoDB服务 sudo systemctl enable mongod // 开机自启动
我们输入命令查看mongoDB服务状态:
sudo systemctl status mongod // 查看mongoDB状态

如果显示 active (running),则表示 MongoDB 已成功启动。
4、部署node项目。
首先,要先在服务器部署node环境,下载node。
使用nvm安装指定版本node:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash source ~/.bashrc // 安装nvm nvm install <version> // 安装指定版本node
使用命令查看node是否安装成功:
node --version
npm --version
接着安装git,用来从远程仓库拉取node项目:
sudo yum update -y // 更新yum仓库 sudo yum install -y git // 安装git
验证git是否安装成功:
git --version
配置git:
git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"
使用mkdir命令新建一个文件夹盛放项目
mkdir your-Folder-name // 新建文件夹
cd到新建文件夹目录,使用git clone命令从远程库拉取node项目:
git clone https://github.com/your-repository.git
cd到项目目录,执行npm i命令,下载依赖:
npm i
到这里,我们的项目就已经成功拉取到服务器了,接下来,我们开始启动项目。
我们使用pm2来进行持久化运行我们的node项目,下载安装pm2:
npm install pm2 -g
验证pm2是否安装成功:
pm2 --version
pm2启动node项目,我们的node项目使用了express框架来搭建的,所以执行命令为:
/* * --name: 实例名称 * --watch: 文件改动会自动重启 * --log-data-format: 日志日期格式化 */ pm2 start bin/www --name "my-process" --watch --log-date-format "YYYY-MM-DDTHH:mm:ssZ"
查看pm2实例:
pm2 list // 查看pm2实例

这样,我们就成功启动了我们的node项目!
pm2其他命令:
pm2 stop <进程ID> 或 pm2 stop <进程名称> // 停止进程 pm2 restart <进程ID> 或 pm2 restart <进程名称> // 重启进程 pm2 delete <进程ID> 或 pm2 delete <进程名称> // 删除进程
接下来我们查看项目端口是否被监听:(node项目默认端口是3000,这里我们改成了4200)
netstat -tulnp | grep 4200 // 查看是否有进程正在监听指定端口
如果出现下面这种情况,表示端口成功被监听:

如果我们想要访问服务器上的node项目,还需要设置服务器开放项目端口(我们项目里监听的是4200端口),我们需要进入阿里云控制台-服务器-点击实例名称-防火墙,点击添加规则

点击 确认添加 开放4200端口。
接着,我们在本地使用telnet测试服务器4200端口是否成功开放:
telnet your-service-ip 4200
如果可以调通,那么就表示我们可以正常访问部署在服务器上的node项目了!
注意:
1、如果telnet服务器端口不通,可能是服务器监听的是tcp6的端口,不是tcp的端口,要注意区分,指定tcp端口,可以在node项目里这样配置:

这样启动node项目后,项目监听的就是tcp端口了!
2、我们在重置系统后重新ssh登陆服务器会被拒绝,这个时候我们要在本地打开 C:\\Users\.../.ssh/known_hosts文件,找到包含服务器公网ip的行,删除该行(可能会有多行),然后我们在重新ssh连接服务器,就可以成功了!

浙公网安备 33010602011771号