服务器ssr进程启动怎么运行,要SSR? NUXT项目从初始化到部署服务器流程全记录

首先,简单介绍一下, nuxt.js 是什么

Nuxt.js 是一个 Vue.js的SSR通用框架,最常用的就是用来作SSR(服务器端渲染)。

首先说下 SSR,最近很热的词,意为 Server Side Rendering(服务端渲染),目的是为了解决单页面应用的 SEO 优化 的问题,对于普通的一般网站影响不大,但是对于论坛类,内容类网站来说是致命的,在国内, 百度/搜狗/等等的搜索引擎无法抓取页面相关内容,也就是用户搜不到此网站的相关信息(谷歌可以抓取vue等框架信息)。这也就是我们使用 nuxt.js 的主要原因,

目前常见的SSR开源框架(方式)有三个:

今天我们主要讲讲目前最成熟, 文档最详细, 拥有大量问题解决方案的nuxt.js

nuxt.js 优点:

基于 Vue.js

自动代码分层

服务端渲染

强大的路由功能,支持异步数据

静态文件服务

ES6/ES7 语法支持

打包和压缩 JS 和 CSS

HTML头部标签管理

本地开发支持热加载

集成ESLint

支持各种样式预处理器: SASS、LESS、 Stylus等

1.安装与初始化

脚手架安装成功后, yarn create nuxt-app 创建一个项目,

之后开始选择配置:

8bc0a5c038dee0fedcbdf76494cca07c.png

选择完成后自动开始安装!

🎉 Successfully created project nuxt.js

To get started:

cd nuxt.js

yarn dev

To build & start for production:

cd nuxt.js

yarn build

yarn start

✨ Done in 175.37s.

1

2

3

4

5

6

7

8

9

🎉Successfullycreatedprojectnuxt.js

Togetstarted:

cdnuxt.js

yarndev

Tobuild&startforproduction:

cdnuxt.js

yarnbuild

yarnstart

✨Donein175.37s.

2.启动项目

根据上述提示启动即可!

3. 打包编译, 怎么把项目部署到服务器

首先我们build之后, 拷贝

.nuxt

nuxt.config.js

package.json

这三个文件到服务器即可

拷贝到服务器后, 首先安装依赖, cnpm install

安装成功后, 执行 npm run start

如果没有错误, 会启动项目, 和本地启动一样, 其实这样我们就可以访问了,

开启 liunx 服务器的内外防火墙端口 , 然后浏览器直接访问: 你的 ip:端口号

4. 配置域名访问

当然只能带端口访问肯定不是我们想要的结果, 那么我们就需要配置 域名, 域名解析到服务端这些流程就不说了,

我们找到nginx的配置文件, 在 http{}模块里面新增:

upstream vrserver {

server 0.0.0.0:3356;

}

1

2

3

upstreamvrserver{

server0.0.0.0:3356;

}

其中ip地址写: 0.0.0.0:端口号

之后再新建一组 server{} ;正常nginx配置就不描述了,

比如我要配置成功: http:xxxx.com/v2/ 作为访问地址, 那就在 xxx.com的nginx 里面新建

location /v2/ {

proxy_pass http://vrserver;

proxy_set_header Origin '';

index index.html index.htm;

}

1

2

3

4

5

location/v2/{

proxy_passhttp://vrserver;

proxy_set_headerOrigin'';

indexindex.htmlindex.htm;

}

新建成功后, 重启nginx, 然后访问 http:xxxx.com/v2/ 就可以访问到我们的服务了

5. 怎么让我们的 nuxt.js服务一直启动

现在如果我们关闭终端, 那服务就关闭了, 接下来我们安装 pm2, 让服务在后台一直运行

然后新建一个 pm2.config.json

{

"apps": {

"name": "vr-sever",

"script": "npm run start",

"ignore_watch": [

"node_modules"

]

}

}

1

2

3

4

5

6

7

8

9

{

"apps":{

"name":"vr-sever",

"script":"npm run start",

"ignore_watch":[

"node_modules"

]

}

}

简单配置即可, 然后我们启动: pm2 start pm2.config.json

6 其他问题

如何配置https

如果让代码修改后自动重启

7.项目体验

目前芊云全景使用的是 nuxt.js 的服务, 具体体验请浏览:  https://vr.he29.com/v3/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4修改初始值_Java基础语法 --4(连载)

第一部分 : IDEA开发工具参见 :IEDA的安装请参考文件夹PPT中的 04_IDEA.ppt1.数组1.1 数组介绍​ 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。 1.2 数组的定义格式1.2.1 第一种格式​ 数据类型[] 数组名​ 示例:int[] ar…

python字典常用方法_Python 字典的常见操作

字典 字典的增删改查 字典的创建方式: #创建字典类型 info {name:李白,age:25,sex:男} msg{user01:Longzeluola,user02:xiaozemaliya,user03:cangjingkong} 字典存储数据的时候,采取的是key:value的形式,是一组无序的存储。在需要的时候通过k…

重邮计算机导师评价,李章勇_重庆邮电大学研究生导师信息

科研工作 :科研项目1.(主持)基于电-机复合机制的EIT胃动力无创检测与评价方法研究,2016-2019年,国家自然科技基金,经费71.2万元。2.(第三)基于心电信号特征与信道量化参数的体域网安全技术研究及实现设计,2…

华为薪资等级结构表_华为21级程序员月薪曝光:月薪27w,什么概念!程序员中的战斗机...

最近,一名 HR 在网上发布了一个内容。该公司表示在招聘简历中找到了华为高管的简历,简历的级别为 21 级,月薪为 27 万,这确实令人惊讶。 华为的等级,估计很多人都不清楚。华为的等级从低到高,数字越高,等级越大,一般的应届生进入的是 13 级,正常的发展速度是 3 年升一…

eclipse maven项目 class类部署不到tomcat下_Springboot2.0学习3 项目部署到tomcat

一、说明本文接上一篇内容,在上一篇基础上完成部署到Tomcat的过程本文学习资源来自SpringBoot官网二、 代码修改1. 准备好上节完成的代码2. 把启动类从SpringBootServerletInitializer派生,用来支持WAR部署Application.java修改后如下:packag…

显卡服务器已停止响应,电脑提示显卡驱动已停止响应并且已成功恢复该怎么解决?...

“显卡驱动已停止响应,并且已成功恢复”这种问题就本人来说是因为显卡配置出现问题,比如我使用的3D图形软件MAYA2015对显卡要求比较高,我使用默认配置没有配置正确。所以说,显卡的等级是硬条件,实在不行建议买个外接独…

android int 首位值_Android应用视图的管理者Window

点击上方蓝色文字关注我哦Window在Android是一个窗口的概念,日常开发中我们和它接触的不多,我们更多接触的是View,但是View都是通过Window来呈现的,Window是View的直接管理者。而WindowManager承担者管理Window的责任。窗口类型Wi…

java正则匹配英文句号_Scala 正则表达式 0411

Scala 正则表达式Scala 通过 scala.util.matching 包中的 Regex 类来支持正则表达式。以下实例演示了使用正则表达式查找单词 Scala :import scala.util.matching.Regexobject Test {def main(args: Array[String]) {val pattern "Scala".rval str "Scala is …

onclick进不去ajax,在ajax调用之后处理onclick函数

在提交表单(ajax调用)后,我正在尝试选择并专注于选择组件ID.var myFunc function() {document.getElementById(form:#{bean.componentId}).focus();document.getElementById(form:#{bean.componentId}).select();};$(document).ready(function() {myFunc();});...这个解决方案…

撤销前进快捷键_电脑win7系统的快捷键大全

电脑在日常工作中经常需要使用到系统自带的快捷键,这样能够大大提高工作效率,比使用鼠标去点击查找方便省事多了,比如常用的复制(Ctrlc)粘贴(Ctrlv),今天就来给大家讲讲Windows系统的快捷键,可以说是快捷键大全啦。一、…

jedis依赖_SpringBoot整合Jedis实现redis缓存

我是一个java开发者,我的文章,没有华丽的言辞,没有666的版式,这些都是我自己工作中用到的解决方案,很多都是直接粘贴的源码,在这里与君分享。如果喜欢这里文章可以关注我,我回继续发的&#xff…

软件文档 服务器上,服务器上需要什么软件

服务器上需要什么软件 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。MindStudio所在的环境为开发环境,开发人员可以进…

c++用new求数组中n个数的和_在C++中实现任意大小数组的定义方法

在C中,定义数组的方法一般为:float a[4]; float a[][8];上述定义中,往往需要数组的大小已知,也就是说程序需要事先设定数组的大小。一旦设定的大小不满足需求时,需要修改代码,再重新编译。这种方法显然不太…

python元组创建_如何在Python中创建一个空元组的元组?

如何创建仅包含一个空元组(即(()))的元组? 我尝试了tuple(tuple()),tuple(tuple(tuple())),tuple([])和tuple(tuple([])),它们都给了我()。 我使用这种东西的原因如下:假设您有n个袋子和m个物品。 为了表示包中的项目列…

服务器补丁 系统,操作系统补丁服务器

操作系统补丁服务器 内容精选换一换北京时间1月3日,Intel处理器芯片被曝出存在严重的Meltdown和Spectre安全漏洞,漏洞详情如下:漏洞名称:Intel处理器存在严重芯片级漏洞漏洞编号:CVE-2017-5753、CVE-2017-5715、CVE-20…

python drop_duplicates_Pandas drop_duplicates方法不起作用

如错误消息所示,drop_duplicates不能用于数据帧中的列表。但是,您可以在作为str的数据帧上删除重复项,然后使用结果中的索引从原始df中提取行。设置df pd.DataFrame({Keyword: {0: apply, 1: apply, 2: apply, 3: terms, 4: terms},X: {0: […

matlab 周立功can_隐藏在CAN协议底层的编码方式——到底是大端还是小端?

当我们想要讨论CAN协议底层发送到数据线上的二进制信号的编码方式时,最值得关注的两点是:字节编码(Endianness)和比特顺序(Bit Numbering)。先一句话揭晓答案:CAN协议的字节编码是大端编码&…

samba服务器新建文件权限,Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析...

Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析发布时间:2011-01-04 19:10:00 作者:佚名 我要评论本文是基于ubuntu桌面版进行操作说明的。前面的设置都是管理员进行的,这里说的管理员就是可以使用sudo命令&am…

flashpaper打印机没有被正确安装_没有正确保存与安装,可导致80%的轴承提早失效...

轴承损坏可谓司空见惯,可您是否知道,80%的轴承提早失效是因为没有正确地安装。轴承的正确安装,不仅可以增加轴承的使用寿命,降低成本,还可以大大提高生产效益。轴承安装与常规其他部件安装有很大区别,为了实…

语言程序设计第4版黄洪艺_谭浩强《C程序设计》第4版网授精讲班【教材精讲+考研真题串讲】视频网课讲义课程资料...

谭浩强《C程序设计》(第4版)网授精讲班【教材精讲+考研真题串讲】网授课程谭浩强《C程序设计》(第4版)网授精讲班【注:因第11章考试不做要求,所以老师没有讲解!】【共31课时】序号 名…