Next.js项目部署

服务器就相当于一台云电脑,需要在上面进行一些配置才行

一、项目准备与测试


  • 1. 安装nodejs



    先在官网查看node版本,看看自己想安装哪个版本的 https://nodejs.org/dist/ 下面是linux,所以下载linux版本的
  • · 进入安装目录
    先看文件树,看看这个目录存不存在,不存在先创建

    创建好后,输入下面的命令进入到所在目录

    cd /opt/software

    · 下载
    这里我选择了 16.15.0 版本的nodejs,如果你是其它版本,记得改一下下面的版本号

    wget https://nodejs.org/dist/v16.5.0/node-v16.15.0-linux-x64.tar.xz

    · 解压
    如果你是其它版本,记得改一下下面的版本号

    tar xvJf node-v16.15.0-linux-x64.tar.xz

    然后删除二进制包,如果你是其它版本,记得改一下下面的版本号

    rm -rf node-v16.15.0-linux-x64.tar.xz

    · 重命名文件夹
    解压好后,刷新一下文件树,你就能看到刚刚下载的node了,文件夹名字是带有版本号的,右键这里,把文件夹名字改为node

    · 配置环境变量
    命令行输入这个命令

    vi /etc/profile

    然后在下方插入这个代码

    export PATH=$PATH:/opt/software/node/bin/

    然后按esc退出编辑模式,然后输入 :wq,然后回车即可保存 (注意冒号不要漏了)

    然后在命令行输入,保存环境变量

    source /etc/profile

    · 检验是否安装成功
    命令行输入 node -v 和 npm -v,查看node版本,有显示说明成功,报错的话请检查上述步骤

    · 更换镜像与下载pnpm、yarn、cnpm
    在命令行依次输入下面代码,注意注释不要复制进去了

    npm install -g cnpm --registry=https://registry.npm.taobao.org

    cnpm i yarn -g

    yarn config set registry https://registry.npm.taobao.org

    cnpm i pnpm -g

    pnpm config get registry

    pnpm config set registry https://registry.npm.taobao.org

    2.安装git并配置SSH

    · 下载git
    使用的是centOS,如果你不是这个操作系统,下方的yum命令报错,可以搜索查看自己的操作系统如何下载git。

    是centOS的话,如果报错没有yum这个命令,那么先使用这个 sudo apt install yum 命令安装,如果还是不行就查看这个文档 解决yum报错的问题

    yum install git

    git --version

    · 配置用户名和邮箱

    git config --global user.name “这里输入用户名”

    git config --global user.email “这里输入邮箱@xx.com”

    git config --global --list

    · 配置SSH公钥

    git config --global user.name “这里输入用户名”

    git config --global user.email “这里输入邮箱@xx.com”

    git config --global --list

  • 3.

    上传nodejs项目

    <p>cd /home/aidev</p>
    
    <p>git clone xxxx</p>
    
    <p>cd web-react-app //这里填写刚刚克隆好的仓库目录</p>
    
    <p>cnpm i // 或者 pnpm i 等皆可</p>
    
    <p>pnpm dev //next.js</p>
    
    <p>node xxx.js //node.js</p></LI></LIST>
    

  • 4. 配置安全组
  • 根据我们运行的服务器的端口号,需要配置安全组,才能在互联网上访问到你的服务

    以阿里云为例(其它请查看对应教程),假设我们刚刚运行的项目端口号为 :3000

  • 5. 测试在互联网上能否访问成功
  • 打开浏览器,输入你的服务器ip地址,再加上对应的端口号,看看能否正常访问,能正常访问说明服务运行成功。

    二、使用pm2持久化运行服务

    之前使用的命令 node xxx.js 、pnpm dev 等,当你关闭了命令行窗口时,服务就挂了,所以需要pm2来帮我们持久化运行服务。

  • 1. 全局安装pm2
  • npm i pm2 -g

  • 2.

    pm2常见命令

    <p>pm2 start index.js <FP char="–">--</FP>name my-server</p>
    
    <p>pm2 list</p>
    
    <p>pm2 stop my-server</p>
    
    <p>pm2 restart all</p>
    
    <p>pm2 delete my-server</p>
    
    <p>pm2 show my-server</p>
    
    <p>pm2 logs</p>
    
    <p>pm2 log my-server</p></LI> </LIST>
    

  • 3. 运行Next.js 服务 ,在项目目录执行
  • pm2 start npm --name "my-server" -- run start

    我看了下 太jb麻烦了 我选择放弃 又想折腾的去折腾吧

    这么快又给你水一贴:ac02:,哪里复制来的标一下

    @“[未知用户]”#p17328 不标 这个网站我不喜欢 复制还想收我钱

    一个面向技术的网站 让技术人员复制文字付费 想瞎了他的心了

    @“[未知用户]”#p17330 盲猜一下 某sdn?

    @“[未知用户]”#p17332 还能有谁比他更无耻

    大bug注意一下排版呀

    @“[未知用户]”#p17332 赶紧奖励我200000能量 累死我了

    @“[未知用户]”#p17335 还是喜欢博客园,虽然可能撑不住了

    @“[未知用户]”#p17336 这玩意读三行不放弃的就是大神了 我觉得没有排版的必要了

    @“[未知用户]”#p17339 之前搞过,但是换主机就没弄了

    @“[未知用户]”#p17581 太麻烦了 还吃内存

    @“[未知用户]”#p17588 我就玩了玩,没搭建什么项目

    照顾下我这种只有宝塔的,希望出一个宝塔搭建的


    @“[未知用户]”#p17602 宝塔可以一键搭建的