小白在Linux服务器上部署Nextjs项目

3,193 阅读1分钟

最近在学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小白,所以安装过程请自行谷歌。简单来说下配置环境。

  1. 使用git cline <your preject address> 上传你的项目,我放在了/var/www/目录下,/var/www/nextjs-blog就是项目的代码。

  2. 使用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
    接下来我们加上域名映射,让用户可以通过域名访问你的网站。

  3. 准备一个域名
    需要购买一个一级域名,有免费一年的,练手够用。然后在你的域名解析服务商的管理后台添加记录解析域名。我用二级域名访问这个Next.js项目,所以加了下面这个。

  4. 在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/