阿里云部署nuxt项目

1,886 阅读3分钟

购买服务器

目前市面上的云服务器有很多可供选择,比如:腾讯云、阿里云、华为云等等五花八门,大家可自行选择,使用套路都差不多,本文以阿里云ECS为例。

配置: 系统:centos_7

创建nuxt项目

为啥选择nuxt项目、nuxt的优缺点、以及如何创建nuxt项目不是本文的中心,可以看本人的另一篇文章vue+nuxt+sass+node+express+MongoDB 实现的文章发布系统 。此次要部署的项目以此为例,有需要源码的也可去本人Github去clone。

部署项目

登录阿里云ECS

进入到阿里云控制台,创建服务器实例之后点击右边的"远程链接"进入到登录界面

阿里云ECS

输入账号密码, 如果忘记了可以重新设置

具体可以参考 阿里云官网文档

阿里云官网文档

安装node、npm

1.开始安装Node.js,先进入/root文件夹(安装在/root目录下,也可以指定到自定义目录下),这个文件夹通常用来存放软件源代码:

cd /root

2.从 Node.js的站点 中获取压缩档源代码, 我选择的版本为v9.10.0(可以直接复制下面代码,修改自己需要的版本就可以):

wget https://nodejs.org/dist/v9.10.0/node-v9.10.0-linux-x64.tar.xz

3.解压缩源文件,并且进入到压缩后的文件夹中:

tar xvf node-v9.10.0-linux-x64.tar.xz

4.创建软连接,全局才可以使用node和npm:

ln -s /root/node-v9.10.0-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v9.10.0-linux-x64/bin/npm /usr/local/bin/npm

5.现在已经安装了Node.js, 可以开始部署应用程序, 首先要使用Node.js的模块管理器npm安装pm2.

npm install pm2 -g

6.创建pm2的软连接

ln -s /root/node-v9.10.0-linux-x64/bin/pm2 /usr/local/bin/pm2

安装mongodb

1.安装说明:

安装软件:mongodb-linux-x86_64-2.4.9.tgz

下载地址: http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz

上传位置:/root

软件安装位置:/root/mongodb

数据存放位置:/var/mongodb/data日志存放位置:/var/mongodb/logs

2.进入文件夹/root,下载mongodb源代码:

cd /root
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz

3.解压安装包,重命名文件夹为mongodb

tar zxvf mongodb-linux-x86_64-2.4.9.tgz
mv mongodb-linux-x86_64-2.4.9 mongodb

4.在var文件夹里建立mongodb文件夹,并分别建立文件夹data用于存放数据,logs用于存放日志

mkdir /var/mongodb
mkdir /var/mongodb/data
mkdir /var/mongodb/logs

5.打开rc.local文件,添加CentOS开机启动项:

1. vim /etc/rc.d/rc.local 默认进去是普通模式,不能写入;

2. 输入i命令,注意:”i”, 不是”:i”, 然后就可以写了;

3. 然后按esc,回到普通模式,输入:w,保存,:q退出,回到控制台。

6.将mongodb启动命令追加到本文件中,让mongodb开机自启动:

/root/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

7.启动mongodb

/root/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

8.看到如下信息说明已经安装完成并成功启动:

forked process: 11221
all output going to: /var/mongodb/logs/log.log
child process started successfully, parent exiting

上传项目代码

1.可以安装任意一款 ftp上传工具,此处推荐FileZilla,链接

阿里云官网文档

代码前期准备

1.在本地执行命令:npm run build 生成 .nuxt目录

2.配置package.json文件新增

"config": {
    "nuxt": {
      "host": "0.0.0.0",
      "port": 80
    }
  }

3.在/home下创建app文件夹,将上一步生成的.nuxt文件和package.json、server等文件上传到该文件夹

阿里云官网文档

启动项目

 1.npm install 安装依赖包文件

 2. cd app/server文件夹下 "pm2 start listrouter.js 启动服务接口

 3. cd app/目录下 "pm2 start npm --name "mynuxt" -- start 启动前端

至此,代码部署完毕, 浏览器输入 "你的外网IP:端口号"(80端口可以不写) 就可启动项目了。点击查看demo

如果,启动80端口被占

阿里云官网文档

1. 首先sudo netstat -apn | grep 80 查看那些程序占了端口;

2. kill 25141

总结

第一次用阿里云,有许多还不太会,初级入门的可以看看,大佬可以忽略。需要了解更多信息,可以查看我的博客