搭建和部署nuxt项目

简介: 【8月更文挑战第4天】

说在前面的话
vue.js开发的SPA是不利于seo的,搜索引擎对它支持的并不是太好,百度根本就不可以在SPA应用的页面抓取数据,这对很看重seo优化的网站来说肯定是不能容忍的。而使用nuxt开发的网站就可以让爬虫爬取,而且它是基于vue.js开发的服务端渲染应用框架,上手极快,大大的简化了SSR的开发难度。

基于vue3的nuxt3请查看:https://blog.csdn.net/dan_seek/article/details/140079231

本机环境和部署环境
操作系统:Windows10、centos7

nodejs:v13.0.1

npm: v6.12.0

nuxtjs:v2.8

下面的操作npm版本最低要v5.2哦

如果版本太低请先使用n命令升级

1.先全局安装工具n:

npm install -g n
1
2.升级node.js到最新稳定版

n stable
1
创建nuxt项目
1、使用create-nuxt-app脚手架创建项目,项目名test-nuxt

npx create-nuxt-app test-nuxt
1
或者用yarn :

yarn create nuxt-app test-nuxt
1
接下来创建向导会让你做些选择,这些选择都是为了更方便的搭建项目用的,选错了也没关系,后续可以在项目里修改

// 第1步 项目名
? Project name (test-nuxt)
// 第2步 项目描述
? Project description (My mind-blowing Nuxt.js project)
// 第3步 输入作者
? Author name ()

// 第4步 选择包管理工具,这里我选择npm
? Choose the package manager
Yarn

Npm

// 第5步 选择UI框架
? Choose UI framework (Use arrow keys)

None
Ant Design Vue
Bootstrap Vue
Buefy
Bulma
Element
Framevuerk
iView
Tachyons
Tailwind CSS
Vuetify.js

// 第6步 选择默认服务器
? Choose custom server framework
None (Recommended)
AdonisJs
Express
Fastify
Feathers
hapi

Koa
Micro

// 第7步 选择安装axios,使用空格选中
? Choose Nuxt.js modules

(*) Axios
( ) Progressive Web App (PWA) Support

// 第8步 选择安装eslint
? Choose linting tools (Press to select, to toggle all, to invert selection)

( ) ESLint
( ) Prettier
( ) Lint staged files

// 第9步 选择安装测试框架
? Choose test framework (Use arrow keys)

None
Jest
AVA

//第10步 这里一定要选择ssr,否则还是单页应用
? Choose rendering mode (Use arrow keys)

Universal (SSR)
Single Page App
//第11步 是否生成jsconfig配置
( ) jsconfig.json (Recommended for VS Code)

// 然后就等待片刻
\ Installing packages with npm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
2、启动,进入test-nuxt目录运行

npm run dev
1
然后就可以使用 http://localhost:3000 访问了

部署nuxt项目
1、先build项目,在test-nuxt目录执行下面命令,或者使用webstorm中的build

npm run build
1
2、服务器新建一个目录,用来放打包后的项目文件(比如:/mnt/projects/nuxt)

3、把package.json、nuxt.config.js、static目录、.nuxt目录共4个拷贝至服务器(比如:nuxt目录)

4、进入nuxt目录,执行 npm install 安装依赖

npm install
1
5、启动服务

npm start
1
nuxt默认端口是3000,如果想要修改,需要在nuxt.config.js添加如下配置:

server: {
port: 9000, // default: 3000
host: '127.0.0.1', // default: localhost
},
1
2
3
4
注意:上面的host配置,centos7写localhost,nuxt服务会起不来

6、配置nginx,可以使用域名访问

server{
listen 443;
server_name t.xxx.cn;
ssl on;
ssl_certificate /etc/nginx/cert/t/2051951_t.xxx.cn.pem;
ssl_certificate_key /etc/nginx/cert/t/2051951_t.xxx.cn.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

     # 如果不需要https访问,把上面的删除,修改成下面两行
     # listen 80;
     # server_name t.xxx.cn;

     location / {
        proxy_pass http://localhost:3000; # 反向代理至nuxt服务器
     } 
 }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
然后在域名解析里配置一条A记录指向服务器IP,如果是https还得配置一条txt记录

7、reload nginx服务

nginx -s reload
1
这个时候,我们就可以使用https://t.xxx.cn访问刚刚部署的网站了

安装pm2
当我们执行上面的操作后,我们的项目已经可以跑起来了,但是关闭shell后,就访问不了了。而pm2是一个进程管理工具,它可以让nuxt进程在后台运行。

1、全局安装pm2

npm install pm2 -g
1
2、使用pm2管理nuxt进程,让它常驻后台,先进入项目目录,然后执行下面命令(比如:nuxt目录)

pm2 start npm --name "test-nuxt" -- start
1
这里的name取一个有意义的就行,不需要和 package.json里面的name {“name”: “test-nuxt” … }对应。

其他
怎么关闭呢?使用stop即可,后面可以接id或者name

pm2 stop 0 #或者 pm2 stop "test-nuxt"
1
启动 pm2 start 0 ;重启 pm2 restart 0

使用pm2 list可以查看当前正在运行的进程

pm2 list

相关文章
|
网络协议 Windows
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
这篇文章提供了解决IDEA插件下载慢或超时问题的方案,通过查找国内插件节点IP地址并修改本地hosts文件来加速下载。
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
|
JavaScript 前端开发 搜索推荐
Nuxt4.0初体验:一个简约、精美、现代化的个人站点导航!
这篇文章介绍了作者使用Nuxt 4.0重构个性化站点导航网站的经历,阐述了Nuxt 4.0的新特性和优势,如更清晰的项目结构、更好的TypeScript体验、更快的CLI和开发速度等,并且分享了重构过程中的体验和项目完成效果。同时,作者还对比了Nuxt.js与Next.js两个框架的优劣,表达了自己对Nuxt.js的偏好。
909 0
Nuxt4.0初体验:一个简约、精美、现代化的个人站点导航!
|
JavaScript API 数据安全/隐私保护
Vuex 插件和 Pinia 插件在使用场景上有哪些区别?
Vuex 插件和 Pinia 插件在使用场景上有哪些区别?
752 127
|
6月前
|
人工智能 自然语言处理 监控
字节开源 DeerFlow 2.0:智能体开始“自己干活”了
字节开源DeerFlow 2.0智能体框架:告别“问答式AI”,支持长时任务执行、多Agent协作、沙盒代码运行与分层记忆。面向测试开发,可自动生成用例、执行接口测试、定位缺陷,推动测试从“脚本编写”迈向“流程设计”新阶段。
|
6月前
|
JSON API PHP
天气预报-获取全国天气预警数据API接口教程
该接口由接口盒子提供,免费获取全国实时气象局天气预警数据(暴雨、大风、雷电等),支持分页查询、完整行政区划及多语言调用示例,含详细字段说明与安全授权机制。
2576 0
|
数据可视化 安全 持续交付
敏捷方法大比拼:Scrum 适合你,还是 Kanban 更合适?
在数字化时代,企业面临项目管理的诸多挑战,如信息不透明、沟通低效等。Scrum 和 Kanban 作为敏捷管理方法,通过迭代优化和流程可视化提升协作效率与交付速度。Scrum 适合周期性迭代交付,强调短周期冲刺;Kanban 则适用于持续交付,强调任务流动性和灵活性。两者结合可形成 ScrumBan 模式,进一步优化任务处理。 对于数据安全要求高的企业,私有化部署工具(如板栗看板)确保数据自主可控、高安全性及定制化需求,保障业务连续性。选择合适的敏捷方法并结合私有化部署,能有效提升团队协作效率,助力企业在竞争中保持领先。
|
JavaScript 安全 网络安全
Nuxt.js 速成(含使用宝塔实现nuxt项目部署)
Nuxt.js 速成(含使用宝塔实现nuxt项目部署)
2135 0
|
监控 负载均衡 JavaScript
PM2 介绍
【10月更文挑战第11天】
|
资源调度 JavaScript 前端开发
搭建和部署nuxt项目
【8月更文挑战第8天】
1156 0
|
监控 JavaScript Serverless
函数计算产品使用问题之如何手动上传Nuxt3打包的代码到阿里云函数计算(FC)进行部署
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
672 1

热门文章

最新文章