一、服务器安装数据库mongodb、node 和pm2依赖
1、在usr路径下新建soft目录,存放安装的软件。
mkdir soft
2、在soft目录下新建mongodb目录
mkdir mongodb
安装官网地址https://www.mongodb.com/download-center#community
3、然后在mongodb目录下安装
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-4.4.0.tgz
tar zxf mongodb-linux-x86_64-rhel80-4.4.0.tgz // 解压
mv mongodb-linux-x86_64-rhel80-4.4.0 mongdbServer //修改短名
4、进入mongodbServer新建datas目录、log目录、etc目录,
datas存放数据,log存放日志,etc配置文件。
进入etc 执行 vim mongo.conf 命令,在文件里面写入如下配置:
dbpath=/usr/soft/mongodb/mongodbServer/datas //创建的mongodb数据的存储地址
logpath=/usr/soft/mongodb/mongodbServer/log //创建的日志存储地址
port=27017 // 端口
fork=true // 设置后台运行
journal=false
storageEngine=mmapv1
写完后:wq保存退出。
启动 mongodb服务
./mongod --config /usr/soft/mongoodb/mongodbServer/etc/mongodb.conf
二、服务器安装node
安装
wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz // 下载
tar -xvf node-v12.18.3-linux-x64.tar.xz // 解压
mv node-v12.18.3-linux-x64 node-v12.18.3 // 改短名
配置
需要创建软链接,以便全局使用
sudo ln -s /usr/soft/node/node-v12.18.3/ bin/node /usr/bin/node
sudo ln -s /usr/soft/node/node-v12.18.3/ bin/npm/usr/bin/npm
使用node -v 查看node版本号
三、服务器安装pm
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能。
安装
npm install -g pm2 // 全局安装
创建软连接
ln -s /usr/soft/node/node-v12.18.3/bin /usr/local/bin
查看进程
pm2 list
四、部署前端代码
1、项目先执行npm run build 打包好
除了node_modules文件,其余的都放进压缩包
2、在node目录下新建node_project/myblog目录存放项目
mkdir myblog
3、上传
rz -y //选择压缩文件
unzip myblog.zip //解压
npm install production //安装依赖
如下:
4.使用pm2 启动项目
pm2 start npm --name "myblog" -- run start
5.启动成功没有问题的话,可以设置开机启动项目
pm2 save //保存当前开机启动列表
pm2 startup //设置开机启动
五、部署nodejs代码
除了node_modules文件夹,其余的文件压缩打包。
1、在linux服务器上新建myblogSerer文件夹
cd node_project
mkdir myblogServer
2、然后通过 rz -y 命令上传压缩好的文件
3、再通过 unzip mybogserver.zip 命令解压文件。
4、再通过执行 npm install -production 安装依赖。
5、通过ls 命令查看文件。
如下:
6、启动node服务
启动node 服务需要使用 nodemon app.js 命令,所以需要下载配置nodemon。
npm install nodemon --save -g
配置nodemon
ln -s /usr/soft/node/node-v12.18.3/bin/nodemon /usr/local/bin/nodemon
启动
nodemon app.js
这样启动的命令当退出的时候服务也会停掉,可以通过pm2后台运行来解决,具体看这篇文章介绍https://www.cnblogs.com/SimonHu1993/p/11646709.html
pm2 star app.js
pm2 save
pm2 startup # 创建开机自启动命令
六、配置 nginx 代理服务
这个是我的组长帮我配置的。当时我需要做公司的项目比较忙,就没有管,以后有机会学习补充。