Next.js 应用可以轻松地部署到多个平台,最推荐的方式是使用 Vercel,因其与 Next.js 的集成非常紧密。此外,还可以在 AWS、Netlify 等其他平台上进行部署。以下是详细的部署步骤。
Vercel 是 Next.js 的开发团队创建的云平台,提供了一键部署功能。
步骤:
创建 Vercel 账户:
连接 GitHub/GitLab/Bitbucket:
导入项目:
配置项目:
访问部署的应用:
设置 AWS EC2 实例:
安装 Node.js 和 npm:
sudo apt update
sudo apt install nodejs npm
克隆项目:
git clone <your-repo-url>
cd <your-project-directory>
安装依赖并构建项目:
npm install
npm run build
启动应用:
npm install -g pm2
pm2 start npm -- start
配置反向代理(可选):
创建 Netlify 账户:
连接 GitHub/GitLab:
导入项目:
配置构建命令:
npm run build
,发布目录为 out
(如果使用了静态导出)。点击“Deploy site”:
如果你需要自定义服务器(例如,使用 Express),可以按以下步骤操作:
创建自定义服务器文件:
server.js
文件:const express = require('express');
const next = require('next');
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();
app.prepare().then(() => {
const server = express();
server.get('/custom-route', (req, res) => {
return app.render(req, res, '/custom-page', req.query);
});
server.all('*', (req, res) => {
return handle(req, res);
});
server.listen(3000, (err) => {
if (err) throw err;
console.log('> Ready on http://localhost:3000');
});
});
修改 package.json
启动脚本:
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "node server.js"
}
npm start
启动应用。通过以上步骤,你可以轻松地将 Next.js 应用部署到 Vercel、AWS、Netlify 等多个平台。根据需求选择合适的部署方式,并根据需要配置自定义服务器,以实现更灵活的功能。