CentOS 7.3 部署Nuxt.js

3,787 阅读3分钟

在CentOS 7.3 安装Node.js

  • 我在服务上是使用Node做服务,没有用Nginx做反向代理
  • 我的CentOS的版本是 7.3.1
  • Node.js是8.11.1

安装Node.js步骤

1 确认依赖环境

  • 确认服务器有nodejs编译及依赖相关软件,如果没有可通过运行以下命令安装。
yum -y install gcc gcc-c++ openssl-devel

2 下载NodeJS源码包并解压

  • 进入要存放下载资源的目录,本文存放在/usr/local/src/目录下。然后执行命令下载源码包:
wget http://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.gz
  • 解压
tar -zxvf node-v8.11.1-linux-x64.tar.gz
  • 解压完成后重命名文件夹,将文件夹重命名为node(非必须):
mv node-v8.11.1-linux-x64 node

3 测试是否安装成功

  • 进入 node 目录下的bin目录,执行 ls命令:
cd node/bin && ls 
  • 会看到node和npm,使用如下命令:
node -v

如此图出现,表明Node安装成功

4 设置全局变量

  • 现在node和npm还不能全局使用,我们要添加环境变量,首先在 etc目录下找到 profile 文件,编辑:
vim profile
  • 编辑信息如下 添加Node的安装路径
export NODE_HOME=/www/server/DevTools/DevTools2/Node/node
  • 安装路径
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
  • 保存修改,然后使用如下命令使配置生效:
source profile

5 验证全局

  • 在任意位置执行node -v命令,查看是否输出node版本号,如果是,则全局设置生效。现在可以在任何目录下执行node和npm命令了!

为npm添加淘宝镜像

1 为npm添加淘宝镜像

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

2、使用淘宝npm镜像的cnpm(本文使用的方法)

  • 因为下载都是国外服务器很慢会掉线,我们需要使用淘宝的npm镜像cnpm。执行命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 启用淘宝的npm镜像cnpm,注意:启用后当我们要输入npm命令时,就需要输入cnpm

打包前端文件

通过cnpm run build 打包

  • 在打包到服务器上之前一定要先配置好端口和IP地址,否则无法在浏览器上通过IP地址+端口号进行正常访问。
 "config": {
    "nuxt": {
      "host": "0.0.0.0",
      "port": "3000"
    }
  }

如图

  • 打包后需要上传到CentOS服务器上文件如下图(一共五个文件):
  • 上传到服务器上后,在当前目录下 使用cnpm install 下载前端依赖 依赖下载好后 如下如图
  • 依赖下载好后,使用cnpm run dev 启动项目(推荐使用pm2启动项目)

pm2

  • 简介:PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
  • 安装前提: 1 Node.js环境

2 npm

  • 全局安装,npm install -g pm2
  • 保存当前进程状态,pm2 save
  • 生成开机自启动服务,pm2 startup
  • 查看启动项,systemctl list-unit-files | grep enable
  • pm2 基本命令如下:

pm2 list # 查看当前正在运行的进程
pm2 start all  # 启动所有应用
pm2 restart all  # 重启所有应用
pm2 stop all # 停止所有的应用程序
pm2 delete all # 关闭并删除所有应用
pm2 logs # 控制台显示所有日志

pm2 start 0  # 启动 id为 0的指定应用程序
pm2 restart 0  # 重启 id为 0的指定应用程序
pm2 stop 0 # 停止 id为 0的指定应用程序
pm2 delete 0 # 删除 id为 0的指定应用程序

pm2 logs 0 # 控制台显示编号为0的日志
pm2 show 0  # 查看执行编号为0的进程
pm2 monit jsyfShopNuxt # 监控名称为jsyfShopNuxt的进程

访问方式