最近在学Nextjs,官网教程最后一步是部署我们的Next.js,针对部署到自己的服务器,写的比较少,于是把自己如何部署的整理一下,方便后面查看。
需要做的是
- 按照Nextjs官网的教程准备一个简单的Next.js APP
- 服务器安装Git Node Nginx PM2,配置环境
- 运行程序并访问
按照Nextjs官网的教程准备一个简单的Next.js APP
网址:nextjs.org/learn/basic…
做到打开localhost:3000能访问到页面就行。然后把项目放到github,我的仓库名称是nextjs-blog
服务器安装PM2 Git Node Nginx,配置环境
我是Linux小白,所以安装过程请自行谷歌。简单来说下配置环境。
-
使用
git cline <your preject address>
上传你的项目,我放在了/var/www/目录下,/var/www/nextjs-blog就是项目的代码。 -
使用pm2管理项目进程
// 修改package.js文件 ... "start": "next start -p $PORT", "build": "next build && PORT=3000 npm start" ...
npm install // 安装相关包
进入/var/www/nextjs-blog/目录执行
pm2 start npm --name "nextjs-blog" -- run build
🕯️: 这个时候可以通过服务器ip访问你的项目 服务器ip:3000
接下来我们加上域名映射,让用户可以通过域名访问你的网站。 -
准备一个域名
需要购买一个一级域名,有免费一年的,练手够用。然后在你的域名解析服务商的管理后台添加记录解析域名。我用二级域名访问这个Next.js项目,所以加了下面这个。 -
在nginx目录下的conf.d文件夹下 添加文件learn-excel.conf
server { listen 80; server_name learn.bancheng.ml; location / { root /var/www/nextjs-blog/; proxy_pass http://127.0.0.1:3000/; #node.js port proxy_http_version 1.1; proxy_set_header Host $host; } }
运行项目并访问
项目已经在运行了。
接下来重启nginx服务,打开绑定的二级域名,正常访问项目。
看看我的learn.bancheng.ml/