服务器部署nodejs服务、pm2进程守护、nginx代理

763 阅读2分钟

在服务器部署nodejs服务、使用pm2进程守护以及nginx代理配置

我是购买的阿里云服务器(Linux系统),所以文章前提是已经有了阿里云服务器

ssh方式登录服务器

登录阿里云,创建密钥对

image.png

查看自己电脑的公钥

// 进入目录
cd ~/.ssh
// 查看公钥内容
cat id_rsa.pub

把id_rsa.pub内容放进上图的公钥内容,点击确定即可

创建完密钥对,需要绑定密钥对

image.png 选择好实例,点击确定,然后重启一下选择的实例

注意:每台电脑的密钥不一样,所以如果用别的电脑也需要上述配置

此时密钥就配置完成了,在自己电脑打开终端,输入:ssh root@公网ip,即可免密登录了,通过这种方式登录进服务器会默认进入 /root目录

安装node

我是把node安装到 /usr/local 目录下

// 进入目录
cd /usr/local

// 拉取指定版本的node压缩包
wget -c https://npm.taobao.org/mirrors/node/v16.16.0/node-v16.16.0-linux-x64.tar.xz

// 解压压缩包
tar -xvf node-v16.16.0-linux-x64.tar.xz

// 重命名node目录
mv node-v16.16.0-linux-x64  nodejs

// 删除压缩包
rm -rf node-v16.16.0-linux-x64.tar.xz

配置全局环境变量

// 打开配置文件
vim /etc/profile

// 在文件最后追加两行,改成自己的安装目录
export NODEJS_HOME=/usr/local/nodejs
export PATH=${NODEJS_HOME}/bin:$PATH

// 保存配置
shift + ; 输入wq保存

这时候就可以全局使用node&npm了

部署代码

这里代码使用的git方式拉取,但如果只是想把一个文件上传到服务器可以使用winSPC工具上传文件

创建代码目录

mkdir /data/apps/

使用git

// 安装git
yum install git

// 生成密钥
ssh-keygen

// 在github添加密钥后就可以拉取代码了

拉取代码&运行项目

// 进入代码目录
cd /data/apps

// 拉取代码
git clone ******node-api

// 运行node服务
cd node-api

pnpm install

// 这里的运行命令是跟项目保持一致的,实际场景修改成自己的运行命令即可
pnpm build

pnpm start:prod

使用pm2进程守护

使用 pm2

// 安装 pm2
npm install -g pm2

// pm2 启动服务
pm2 start dist/main.js

nginx代理

这时候访问你的node服务接口需要使用:域名/公网IP + 端口号 + 接口路由,这个端口号还是不要暴露的好,所以添加一层代理

查看nginx配置文件目录

nginx -t

在配置文件中写入下面配置:

// 我是在/etc/nginx/default.d文件夹里面新增 api.conf 文件
// 端口号改成自己服务的端口号
location /api {
    proxy_pass http://127.0.0.1:3000;
}

重启 nginx

service nginx reload

此时访问服务接口:公网IP + api/接口路由 即可

掘金,记录code生活