前言
平常做完项目都很少自己部署,但是感觉作为一个开发者不会部署有点过不去,于是询问了身边的小伙伴一波,做出以下总结。
一、概述
本文将从以下三个个方面来讲解: 配置 oneinstack 将 nodejs 项目上传至服务器 使用 pm2 运行 nodejs 项目
二、具体步骤
1、拥有自己的服务器
先到阿里云买一台学生机,买完以后记得到控制台重置密码,密码设置的尽可能的复杂;
2、下载 Xshell
之后需要到 Xshell 官方网站下载XShell;
3、 oneinstack 配置 web 环境
用oneinstack配 web 环境,具体配置如下:
4、 XShell 连接远程主机
配置完以后,XShell 连接远程主机;
5、更新系统软件
连接完成之后, XShell
控制台上的小红点会变成小绿点,显示小绿点即表示连接成功,如果还是小红点则说明连接失败,需重返检查下原来的配置是否有错误,及时纠正。 成功连接后, XShell
控制台输入yum update -y
来更新系统软件,更新完成之后,将第三步 oneinstack
最底部生成的安装命令粘贴继续粘贴进控制台,稍等片刻,将完成重置和登录。
6、在服务器上安装 node 环境
登录之后,我们需要在服务器安装一个 node 环境。这里需要注意的一点是,如果需求没有很大的话,用命令yum install -y nodejs
在 XShell
控制台即可直接安装,但是 XShell
里面的版本是在比较低,比如我安装的时候是 10.21.0
,实际上 node
已经出到 14 版本了,所以建议是手动安装。接下来讲解在服务器手动安装最新版本 nodejs 环境的做法:
①首先需要在本地下载 nodejs 最新版本,在node 官网下载服务器能够运行的版本,因为我的是 centOS 系统,选择 linux Binaries(x64)。
PS :不要像我一样傻以为是在本地安装一个 node
环境,本地的 node
环境和远程的 node
环境完全不是同一个东西。
②在本地下载完成后,需要将安装包(即压缩包文件)复制到服务器里面,如何复制呢,这个根据个人需求传到服务器对应的路径下。( windows
系统推荐使用winscp 软件或者Xftp 软件进行上传,速度很快)
③上传后,在服务端进行解压,这里需要用命令行在 XShell 里面进行解压。(注意:node-v14.15.4-linux-x64.tar.xz 是你 node 安装包的名字) 解压思路是:需要先将 xz 文件解压成 tar 文件,之后将 tar 文件解压成文件夹完成解压
xz -d node-v14.15.4-linux-x64.tar.xz
tar -xvf node-v14.15.4-linux-x64.tar
xz -d node-v14.15.4-linux-x64.tar.xz
tar -xvf node-v14.15.4-linux-x64.tar
④解压后,将 node 文件夹下的所有内容复制到/usr/local/node,配置环境变量。这里路径/usr/local/node 下的 node 文件需要新建,用mkdir -p 路径名
可以直接建立路径下的文件夹。
⑤配置环境变量。linux 的环境变量文件是/etc/profile,可执行文件在/usr/local/node/bin 里,所以要把这个路径加入到这个环境变量文件中。
vi /etc/profile
vi /etc/profile
输入命令后进入界面,再输入 i 进入编辑模式,PageDown 到最后一行,不换行,添加环境变量。
: /usr/local/node/bin
: /usr/local/node/bin
⑥保存退出。
ESC
Shift zz
ESC
Shift zz
⑦ 保存退出后执行如下命令,将环境变量生效。
source /etc/profile
source /etc/profile
⑧装完之后node -v
查看版本号是否一一对应。
7、部署项目到服务器上
安装完 node
环境,接下来需要把我们的项目部署到服务器上。(这里介绍从 git
上拉项目到服务器上) ① 先到 /home
下面创建一个属于你自己用户名的文件夹,比如名字为 monday
,那么就会有 /home/monday
,之后把自己的项目文件克隆到 monday 文件下,为 /home/monday/project-name
。 ② 进入自己用户名的文件夹,git clone
你的项目地址,之后 npm i
。 ③ 上传 nodejs
项目后,配置数据库。
8、安装 pm2 并启动 nodejs 项目
①使用 npm 全局安装 pm2:npm install pm2 -g
; ②进入 nodejs 项目目录,我把项目上传到了 /home/monday/project-name
,所以,输入cd /home/monday/project-name
的项目目录回车,进入项目目录启动 nodejs 项目,看个人对自己项目的设计来决定启动方式,我的是npm run prd
; ③检查 nodejs 项目是否启动:输入 pm2 list 回车,如果出现下面的列表,就说明 nodejs
项目已经顺利在后台建立了服务。 至此,我们就把服务启动起来啦!
三、快捷指令
1、linux 的常用命令
- rm -rf 目录 删除目录
- cp -R conf.example conf 复制 conf.example(已存在文件)为 conf(未存在)
- curl http://www.linux.com 用于测试一台服务器是否可以到达一个网站
- ①yum install screen -y;②screen -S lnmp 用于解决连接非正常中断,重新连接会话
2、pm2 的常用命令
- pm2 list——查看进程列表
- pm2 restart 0——重启服务
- pm2 stop 0——停止服务
- pm2 delete 0——停止后要对进程进行删除
- pm2 info 0——可以查看当前进程的所有信息以及一些录像
- pm2 log 0——查看日志
- pm2 monit——监控进程列表