阿里云部署nuxt项目

购买服务器

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

配置: 系统:centos_7

创建nuxt项目

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

部署项目

登录阿里云ECS

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

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

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

安装node.js、npm

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

1
cd /root

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

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

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

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

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

1
2
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.

1
npm install pm2 -g

6.创建pm2的软连接

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

安装mongodb

1.安装说明:

1
2
3
4
5
6
7
8
9
安装软件: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源代码:

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

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

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

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

1
2
3
mkdir /var/mongodb
mkdir /var/mongodb/data
mkdir /var/mongodb/logs

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

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

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

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

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

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

7.启动mongodb

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

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

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

上传项目代码

1.可以安装任意一款 ftp上传工具,此处推荐FileZilla,链接
阿里云官网文档

代码前期准备

1
2
3
4
5
6
7
8
9
10
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
2
3
4
5
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
2
3
1. 首先sudo netstat -apn | grep 80 查看那些程序占了端口;

2. kill 25141

总结

第一次用阿里云,有许多还不太会,初级入门的可以看看,大佬可以忽略

谢谢你的支持,我会更加努力的创作!
版权声明

Itcnz's Blog by Zhouhappy is licensed under a Creative Commons BY-NC-ND 4.0 International License.
Zhouhappy 创作并维护的Itcnz's Blog 博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于Itcnz's Blog 博客( https://www.itcnz.top ),如非特别说明,转载请注明出处!