说在前面的话

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

本机环境和部署环境

操作系统:Windows10、centos7

nodejs:v13.0.1

npm: v6.12.0

nuxtjs:v2.8

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

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

1.先全局安装工具n:

npm install -g n

2.升级node.js到最新稳定版

n stable

创建nuxt项目

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

npx create-nuxt-app test-nuxt

或者用yarn :

yarn create nuxt-app test-nuxt

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

// 第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)
> NoneAnt Design VueBootstrap VueBuefyBulmaElementFramevuerkiViewTachyonsTailwind CSSVuetify.js// 第6步 选择默认服务器? Choose custom server frameworkNone (Recommended)AdonisJsExpressFastifyFeathershapi
> KoaMicro// 第7步 选择安装axios,使用空格选中
? Choose Nuxt.js modules
>(*) Axios( ) Progressive Web App (PWA) Support// 第8步 选择安装eslint
? Choose linting tools (Press <space> to select, <a> to toggle all, <i> to invert selection)
>( ) ESLint( ) Prettier( ) Lint staged files// 第9步 选择安装测试框架? Choose test framework (Use arrow keys)
> NoneJestAVA//第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

2、启动,进入test-nuxt目录运行

npm run dev

然后就可以使用 http://localhost:3000 访问了

部署nuxt项目

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

npm run build

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

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

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

npm install

5、启动服务

npm start

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

  server: {port: 9000, // default: 3000host: '127.0.0.1', // default: localhost},

注意:上面的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服务器} }

然后在域名解析里配置一条A记录指向服务器IP,如果是https还得配置一条txt记录

7、reload nginx服务

nginx -s reload

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

安装pm2

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

1、全局安装pm2

npm install pm2 -g

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

pm2 start npm --name "test-nuxt" -- start

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

其他

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

pm2 stop 0 #或者 pm2 stop "test-nuxt"

启动 pm2 start 0 ;重启 pm2 restart 0

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

pm2 list

搭建和部署nuxt项目相关推荐

  1. 宝塔面板部署nuxt项目线程守护启动以及Nginx反向代理

    宝塔面板部署nuxt项目 宝塔部署Vue,nuxt等项目需要是使用到node.jshe nginx才能实现部署.因此使用宝塔面板使用软件安装安装PM2管理器以及nginx代理软件 步骤一 新建文件夹上 ...

  2. Ubuntu 下搭建 Nginx 部署 vue 项目

    Ubuntu 下搭建 Nginx 部署 vue 项目 上一篇:Ubuntu 下部署 SpringBoot 第一步: Ubuntu 上安装 nodejs 执行 apt install nodejs 命令 ...

  3. K8s 集群资源监控、高可用搭建、部署java项目 (下)

    目录 集群资源监控 监控指标和搭建方案 搭建监控平台(k8s部署) 部署守护进程 部署prometheus 部署Grafana 高可用k8s集群 系统初始化 master节点部署keepalived ...

  4. 阿里云服务器Linex系统搭建Tomcat部署Web项目

    目录 整个过程我给它分成四个步骤: 使用的工具:Xshell.WinSCP. 下载并安装Tomcat 使用工具Xshell操作Linex系统 下载 解压 配置阿里云服务器信息 运行tomcat 部署w ...

  5. 搭建or部署接口自动化平台从零到一的过程

    接口自动化部署or搭建目录 前言 搭建 前端环境 后端环境 部署 部署环境 前端部署 后端部署 第一种方式后端部署 第二种方式后端部署 前言 首先感谢cheeath大佬的支持和帮助,自动化平台成功在服 ...

  6. 使用pm2部署nuxt3项目

    众所周知,nuxt3.js是基于vue开发ssr,seo的项目比较好的框架,那么开发完成项目,如何部署nuxt项目也是比较重要的,接下来就记录一下我在开发中是如何部署的. 这篇文章只是对配置环境变量做 ...

  7. 全局安装nuxt_Nuxt项目搭建到Nuxt项目部署

    a.为什么? Vue.js原来是开发SPA(单页应用)的,但很多人想用Vue开发多页应用(有利于SEO操作),并在服务端完成渲染,于是Nuxt.js框架出生了,可实现用命令把vue项目生成为静态htm ...

  8. 云服务器开启ftp_阿里云搭建wordpress 及部署java项目

    很久之前,小编就买了一年的阿里云服务器,也购买了域名,一直都没有时间,加上自己对linux的知识不足,最后小编终于把wordpress和tomcat同时部署在一个服务器上, 先简单说说阿里云的购买流程 ...

  9. java搭建阿里云服务器环境(java环境+mysql+tomcat)和部署 JavaWeb 项目到云服务器(十分详细)

    文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源. 购买一系列的东西 其实就是花钱买块区域,服务器,域名,云解析,花了好多money... 一. ...

最新文章

  1. timer 公司内部用法
  2. pww区域连接特征提取算法
  3. python【Matlibplot绘图库】利用matlibplot绘制雷达图
  4. 1.2.5 计算机系统的多级层次结构(硬联逻辑级、微程序级、传统机器级、操作系统级、汇编语言级、高级语言级、应用语言级)
  5. 面试一位硕士海龟前端小姐姐有感
  6. flask 项目基本框架的搭建
  7. sklearn自学指南(part21)--核岭回归
  8. 奔五的人学ios:swift竟然没有字符串包括,找个简单的解决方法
  9. 工作197:判断对象里面是否有0和1
  10. strcasecmp()--忽略大小写比较字符串
  11. 3G了 由PC-手机 我们想了些什么呢
  12. openjudge用c语言答案,OpenJudge - NOI - 1.4编程基础之逻辑表达式与条件分支(C语言 全部题解)...
  13. 自动驾驶——传感器的配置参数
  14. Ubuntu中zabbix4.2配置shell脚本邮件报警
  15. python在线学习直播-Python在线学习最有效马哥开启全网独家全程直播课
  16. 20145305 《网络对抗》注入Shellcode并执行Return-to-libc 攻击实验
  17. 高数_第1章空间解析几何与向量代数__直线方程
  18. Linux打补丁遇到Hunk# succeeded at提示
  19. PG系列1-postgresql的源码编译安装(CentOS7.8)
  20. diy 单片机 自动浇花_基于51单片机的自动浇花装置(很详细)

热门文章

  1. SpringCloud教程三
  2. Java知识点总结归纳
  3. Sourcetree安装跳过Bitbucker登录
  4. 绿平衡(Green Balance)
  5. MySQL口令扫描渗透测试攻略
  6. MATLAB安装、使用及卸载
  7. JS中var和let区别
  8. 通过Value获取Map中的键值Key的四种方法
  9. 南京东路打卡地上海惊魂密境打造老上海新年味
  10. 【引用】.htaccess RewriteRule详解