服务器就相当于一台云电脑,需要在上面进行一些配置才行
一、项目准备与测试
1. 安装nodejs
先在官网查看node版本,看看自己想安装哪个版本的 https://nodejs.org/dist/ 下面是linux,所以下载linux版本的
· 进入安装目录
先看文件树,看看这个目录存不存在,不存在先创建
创建好后,输入下面的命令进入到所在目录
cd /opt/software
· 下载
这里我选择了 16.15.0 版本的nodejs,如果你是其它版本,记得改一下下面的版本号
wget https://nodejs.org/dist/v16.5.0/node-v16.15.0-linux-x64.tar.xz
· 解压
如果你是其它版本,记得改一下下面的版本号
tar xvJf node-v16.15.0-linux-x64.tar.xz
然后删除二进制包,如果你是其它版本,记得改一下下面的版本号
rm -rf node-v16.15.0-linux-x64.tar.xz
· 重命名文件夹
解压好后,刷新一下文件树,你就能看到刚刚下载的node了,文件夹名字是带有版本号的,右键这里,把文件夹名字改为node
· 配置环境变量
命令行输入这个命令
vi /etc/profile
然后在下方插入这个代码
export PATH=$PATH:/opt/software/node/bin/
然后按esc退出编辑模式,然后输入 :wq,然后回车即可保存 (注意冒号不要漏了)
然后在命令行输入,保存环境变量
source /etc/profile
· 检验是否安装成功
命令行输入 node -v 和 npm -v,查看node版本,有显示说明成功,报错的话请检查上述步骤
· 更换镜像与下载pnpm、yarn、cnpm
在命令行依次输入下面代码,注意注释不要复制进去了
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm i yarn -g
yarn config set registry https://registry.npm.taobao.org
cnpm i pnpm -g
pnpm config get registry
pnpm config set registry https://registry.npm.taobao.org
2.安装git并配置SSH
· 下载git
使用的是centOS,如果你不是这个操作系统,下方的yum命令报错,可以搜索查看自己的操作系统如何下载git。
是centOS的话,如果报错没有yum这个命令,那么先使用这个 sudo apt install yum 命令安装,如果还是不行就查看这个文档 解决yum报错的问题
yum install git
git --version
· 配置用户名和邮箱
git config --global user.name "这里输入用户名"git config --global user.email "这里输入邮箱@xx.com"git config --global --list
· 配置SSH公钥
git config --global user.name "这里输入用户名"git config --global user.email "这里输入邮箱@xx.com"git config --global --list
3. 上传nodejs项目
cd /home/aidev
git clone xxxx
cd web-react-app //这里填写刚刚克隆好的仓库目录
cnpm i // 或者 pnpm i 等皆可
pnpm dev //next.js
node xxx.js //node.js
4. 配置安全组
根据我们运行的服务器的端口号,需要配置安全组,才能在互联网上访问到你的服务
以阿里云为例(其它请查看对应教程),假设我们刚刚运行的项目端口号为 :3000
5. 测试在互联网上能否访问成功
打开浏览器,输入你的服务器ip地址,再加上对应的端口号,看看能否正常访问,能正常访问说明服务运行成功。
二、使用pm2持久化运行服务
之前使用的命令 node xxx.js 、pnpm dev 等,当你关闭了命令行窗口时,服务就挂了,所以需要pm2来帮我们持久化运行服务。
1. 全局安装pm2
npm i pm2 -g
2. pm2常见命令
pm2 start index.js --name my-server
pm2 list
pm2 stop my-server
pm2 restart all
pm2 delete my-server
pm2 show my-server
pm2 logs
pm2 log my-server
3. 运行Next.js 服务 ,在项目目录执行
pm2 start npm --name "my-server" -- run start