我们可以把开发的 Next.js 应用部署到自有服务器上,先在阿里云、腾讯云之类的云服务商那里购买一台服务器。
使用 ssh 登录到云服务器,ssh-pixiu 是我自定义的一个命令,实际上它执行的就是 ssh 命令,并且设置了要登录的用户的名字还有服务器的地址。
准备 Git
部署应用的时候需要把本地的项目转移到服务器上,可以直接把本地项目上传到远程服务器,也可以在服务端上直接克隆项目的远程仓库。这就需要在服务器上用到 git,在 Ubuntu 系统上安装 git,可以先执行一下 apt-get update,更新一下软件包列表。然后执行 apt-get install git ,这个命令可以帮我们安装在 git。
再配置一下 git,执行 git config --global user.name 'wanghao' 配置一下全局的用户名,然后执行 git config --global user.email 'wanghao@ninghao.net',配置一下全局的用户的邮箱地址,这个邮箱地址也应该是你的 github 帐户。
公钥
克隆远程仓库需要读取权限,如果远程仓库是私有的,我们就需要把这台服务器上的某个用户的公钥放到 github 个人帐户的 SSH 公钥里。在服务器上执行 ssh-keygen 可以生成密钥,我之前已经执行过这个命令了。
然后再执行一下 cat ~/.ssh/id_rsa.pub 输出公钥内容,复制一下这个公钥内容。
回到 github 网站,打开用户的设置页面,打开 SSH Keys,新建一个 SSH Key,随便填写一个标题,aliyun-pixiu ,再把复制的公钥内容粘贴到这个 Key 里面,点击 Add SSH Key。
这样在这台服务器上就应该有权限克隆项目的远程仓库了。
Node
部署 Next.js 应用需要服务器支持 Node.js 环境,这就需要在服务器上安装一下 Node.js。在 Ubuntu 服务器上,可以使用 nodesource 提供的安装源。
在 nodesource 的使用说明里可以找到如何在 Ubuntu 系统上安装指定版本的 Node.js ,比如我们需要用的是 16.x 版本的 Node.js,复制一下这行 curl 命令,在服务器上执行一下,完成以后就可以安装 16.x 版本的 ndoejs 了,执行 apt-get install nodejs -y ,确定安装一下 nodejs。
完成以后,执行 node -v 会显示当前系统正在使用的 Node.js 的版本。