nuxt.js 部署

JavaScript021

nuxt.js 部署,第1张

1、服务器安装node

2、安装pm2

可能需要建立软连接

3、部署

最后服务器项目目录里面就是这几个文件

.nuxt

static

nuxt.config.js

package.json

package-lock.json

上传好后,运行 npm install 安装依赖(建议 npm install --unsafe-perm=true --allow-root )

最后运行 npm run start 启动项目

刚才已经安装了pm2,在项目上传后,进入项目目录,用 pm2 执行运行命令

pm2还有很多命令,常用的

pm2 list // 查看任务列表

pm2 stop app_name|app_id // 停止指定name或者id的任务

pm2 stop all // 停止所有任务

pm2 delete app_name|app_id // 删除指定name或者id的任务

pm2 delete all // 删除所有任务

pm2 logs // 查看日志

pm2 kill // 杀死pm2进程

Nginx配置

nuxt部署

next.js、nuxt.js等服务端渲染框架构建的项目部署到服务器,并用PM2守护程序

操作环境:

虚拟机:ubuntu 16.04 LTE 64位

node镜像,star数很高,我们使用它作为基础镜像.latest为tag标签,标识是哪个版本。这一步,也可以省略,后面的Dockerfile文件,会自动拉取该镜像。

写一个最简单的web,监听8888端口,返回Hello world。

使用了node官方建议的框架express

$ touch server.js

$ vi server.js

Docker会依照Dockerfile的内容来构建一个镜像。

$ cd ..

$ touch Dockerfile

$ vi Dockerfile

在Dockerfile文件所在目录下,运行下面命令来构建一个Image

构建完后查看一下刚构建的镜像:

-d 表示容器在后台运行

--name 表示给容器别名 nodewebsite

-p 表示端口映射。把本机的8888端口映射到容器的8888端口,这样外网就能通过本机的8888端口,访问我们的web了。

后面的 weiqinl/node 是image的REPOSITORY, latest的镜像的TAG

到此,Docker部署nodejs应用,已经完成。

第一步:下载Node.js

为了程序的快速部署,node.js不需要自己编写,下载一个现成的镜像到本地即可,如图:

第二步:安装Node.js镜像

打开安装包,找到node.js镜像,安装到程序包。

第三步:编写package.json程序

在程序中创建package.json,并编写以下依赖代码;

vi package.json

{

"name": "webtest",

"version": "1.0.0",

"description": "Node.js on Docker",

"author": "lpxxn",

"main": "server.js",

"scripts": {

"start": "node server.js"

},

"dependencies": {

"express": "^4.13.3"

}

}

第四步:创建server.js程序

创建一个服务器端口检测js程序server.js,并写入以下监听80端口代码;

vi server.js

'use strict'

var express = require('express')

var PORT = 8888

var app = express()

app.get('/', function (req, res) {

res.send('Hello world\n')

})

app.listen(PORT)

console.log('Running on http://localhost:' + PORT)

第五步:创建镜像文件Dockerfile

Dockerfile是整个程序中最重要的一员,也是创建镜像的基础文件,创建文件并写入以下编码:

vi Dockerfile

# Create app directory

RUN mkdir -p /home/Service

WORKDIR /home/Service

# Bundle app source

COPY . /home/Service

RUN npm install

EXPOSE 8888

CMD [ "npm", "start" ]

然后启动web app

第六步:构建镜像

在Dockerfile相同的目录下构建一个镜像docker build -t mynodeapp .

第七步:运行镜像

在命令行中输入docker run -d -p 80:8888 ac5,运行程序。

第八步:命令行测试

在cmd命令中输入:curl -i localhost:8888,访问web app;

第九步:浏览器测试

在浏览器中输入localhost:8888,如果页面显示hello World!表示镜像部署成功。如图: