项目的服务器使用的是腾讯云的轻量应用服务器Lighthose, 系统版本CentOS7。
本文主要记录环境搭建中遇到的问题和故障解决。
环境搭建
安装node
下载
wget http://nodejs.org/dist/v16.14.0/node-v16.14.0-linux-x64.tar.gz
解压文件
tar -zxvf node-v10.15.3-linux-x64.tar.gz
重命名文件夹
mv node-v10.15.3-linux-x64 node
修改profile文件
vi ~/.bash_profile
编辑环境变量
PATH=$PATH:$HOME/bin
为(别忘记加冒号)
PATH=$PATH:$HOME/bin:/root/node/bin
运行
source ~/.bash_profile
查看版本号是否安装成功
node -v
npm -v
安装PM2
Blog使用了pm2做进程守护,因为不是本篇主要内容,详细了解点我直达官方文档 Quick Start。
npm install pm2@latest -g
启动项目,例如我的项目名是myBlog
pm2 start npm --name "nextjs-blog" -- run build && pm2 save
防火墙设置
防火墙规则一般默认值开放了80端口,如果开发使用3000或者9000等端口还需进行规则设置。在服务器->防火墙->添加规则中设置。
故障解决
不支持SWC
Next.js使用了SWC,SWC是一个基于Rust开发的平台,具有可扩展性,高性能并且支持SWC,是下一代快速的开发开发者工具。
但是我用pm2启动后直接报错,该环境下不支持SWC。
我们实用自定义的Babel配置可以解决这个问题。
在根目录下新建.babelrc文件,然后写入以下内容。
{
"presets": [
[
"next/babel",
{
"preset-env": {},
"transform-runtime": {},
"styled-jsx": {},
"class-properties": {}
}
]
],
"plugins": []
}
重新启动项目就ok了。