新手如何选云服务器才能避免被坑?

新手如何选云服务器才能避免被坑?,第1张

单纯是新手选择云服务器的话,1核1G内存1M带宽的足够你使用了。因为从新手角度,就是搭建网站、博客之类的轻量级应用,发个文章、、生活心情、日记之类的。至于选择哪家服务器可以去我的博客看看,上面有提到相关的内容和建议供参考。

        初次使用linux远程连接云服务器,可能大家遇到这样的报错信息:IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY。如下图所示,是本人在mac上连接云服务器的报错一角:

        见到上面的报错,别慌,从截图的倒数第3-4行分析,可以大概知道这个报错了一个叫做known_hosts文件有密不可分的关系,意思就是message传输不过去。此时我们可以执行如下的命令,将known_hosts这个文件给删除掉,然后重新连接即可。命令如下:rm -rf ~/ssh/known_hosts 

   在项目中,有些功能是需要在登录后的场景下才可以使用的,所以我们需要通过 某个条件判断当前是否是登录状态,  校验登录态,一般通过判定vuex 或 cookie 或 storage中 是否存在用户信息 。常见方案如下:

a ) 登录成功后,用户信息存入storage中「可以是 localStorage 或 sessionStorage」

出现问题 : 在服务端渲染的时候「就是在asyncData中」 直接报错

原因 :因为storage技术是浏览器端技术,node用不了,所以这个方案直接pass掉

b ) 登录成功后, 用户信息存入vuex 的store中

出现问题 : 刷新后数据丢失 

原因 : store里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,store里面的数据就会被重新赋值初始化

后续处理 :一般针对vuex 刷新数据丢失问题,会去做vuex数据持久化,这里考虑到上述 在服务端渲染的无法使用客户端storage技术,所以vuex数据持久化 *** 作 使用cookie去做 「为啥用cookie 因为cookie 浏览器端和服务器端都可以用」

后续场景: 做完数据持久化后,再次刷新,登录态信息不会再丢失,可以正确显示 登录态相关的业务渲染逻辑。但是出现了一个新的问题,那就是

刷新的时候,判断登录态相关的渲染样式会出现闪烁,第一印象就是拿取用户信息做判断的时候,拿数据的速度慢了,是什么原因造成的呢

应该也是在初始化的时候,服务端渲染引起的; 在服务端渲染的时候页面已经准备好展示的效果,并被浏览器展示 , 当浏览器渲染前的一刹,又要获取vuex中的登录态进行判断展示,所以就有了一刹的卡顿。

 最终处理: 在做vuex数据持久话的时候,在nuxtServerInit 内处理

有的使用,我们可能需要去直接解析html字符串,vue提供了v-html ;  nuxt中 使用v-html ,一定要注意, 等待渲染的html字段串 完全遵守 w3c的html规范的。 例如<p> 这样,如果没有</p> 闭合, 页面会报错,打包后发布到线上环境,直接爆发阻塞性问题。

开发环境报错:

打包后部署线上报错:

nuxt 中, 无需去手动配置vue-router,他在业务中的目录就是一个默认路由,但是考虑到有一些项目可能路由比较复杂,就可能需要自定义的去配置路由。流程如下

    a 新建个路由文件

 b 在nuxtconfigjs 中配置

   引入自定义路由文件

   在modules字段同级别 加入 router字段配置

 

项目中,可能某一些模块需要登录后才能访问,比如个人中心vue 传统的项目中,大多数是在路由守卫中做判断,判断登录的话继续访问,未登录跳转到登录页;那么在nuxt框架的项目中怎么样去实现这样功能呢  

 这里需要用到nuxt 框架的中间件功能了,流程如下:

 a ) 在 nuxt框架的默认中间件目录 middleware 新建一鉴权文件

b ) 在nuxtconfigjs 配置文件的 plugins属性 中引入这个文件

 c ) 在需要路由鉴权的 模块直接引用 ; 路由鉴权完成啦
  需要进行 seo 的页面,初始化渲染的数据 必须在 asyncData内 获取, 这样才会被nuxt 在服务端组装好 html,返回浏览器渲染, 其他vue生命周期内初始化的数据 ,不会在html 里展示。

 坑点:

   1 asyncData 内处理接口调试的问题。

   只能在node服务面板上看到

   2 一旦接口报错; 页面直接挂掉

   处理方法:

   必须在接口处理之前 包含  try {} catch{}

   考虑错误处理的场景。 一般处理方式与两种

  a 一种是 错误场景仍然返回 初始化数据 
b 另一种直接返回错误页 :利用nuxt内部提供的错误处理机制
nuxt会在默认的错误页做出相应的处理;至于这个错误页面,当然你自己准备啦
在开发过程中,常见的问题基本这些啦,如果还有新的问题,欢迎大家留言讨论,本人也是第一次使用nuxt框架做服务端渲染,欢迎指正,哈哈!

遇到这种情况,首先是先看看其它人的电脑或你的手机等设备连接网络是否正常、是否能打开网站。

如果其它设备也都打不开,那是连接的网络有问题了。否则就是你的电脑有问题了,这时首先尝试重启下电脑吧。

电脑重启后还不行,可以尝试将自己的DNS地址固定为一些免费的、速度比较快的DNS,比如:114114114114(或者114114115115)等。

一般这样设置后应该就能解决了。如果还不行,则可能是你的DNS服务没有开启。可按windows键+R键,在打开的“运行”对话框中,输入“servicesmsc”,并点击“确定”。

在打开的“服务”窗口中,找到“DNS Client”服务,如果此服务没有开启,则“启动”之。当然,建议同样启动“DHCP Client”服务。

如果DNS服务已经开启,或者设置了正确的DNS也无效,这里一般是电脑其它问题。

如果这时可能是个别网站或WEB程序不能打开,或网络极不稳定,可以尝试以管理员身份运行DOS命令行:arp -d 试试。

如果还不行,则可以检查是否使用了代理。打开IE的“Internet选项”对话框,切换到“连接”选项卡,点击“局域网设置”后,取消d出对话框里面的所有复选框。

如果还不行,则尝试以管理员身份运行DOS,在命令行下运行:netsh winsock reset。重启试试。

说一下我的个人经历,勿喷先买了小蚁1080p,一百多元,后来买了小白,399元,因为想要360转头的,买了第一天就后悔了,无论功能性,清晰度,都和一百多元的小蚁没得比,白天看差不多,细看看得出来,超清的小白比不过高清的小蚁,晚上就更离谱,小白简直糊成一团,家里看起来像鬼屋,移动侦测两款灵敏度差不多,小蚁多了一个红色固定区域移动警报,小白没有,说是最差的产品完全不过分,价格比人贵,清晰度比人差,功能比人少。

米家小白智能摄像机的外观看起来可很圆润,因为它能够进行上下左右四个方向进行旋转,所有它由上下两部分组成。 凰家评测(高一洋)在智能家居这个概念火了以后一众智能家居产品蜂拥而至,而其中很受欢迎的自然是家用的摄像头,而首先打出名声的自然是小蚁摄像头。随后小米的生态链品牌米家也推出了自己的智能家居摄像头——米家小白智能摄像机。

米家小白智能摄像机经过了一定时间的众筹之后,凤凰科技已经收到了这款米家小白智能摄像机,接下来我们就来看看这款人气还不错的产品到底有着怎样的表现。

造型圆润 做工尚可

米家小白智能摄像机的外观看起来可很圆润,因为它能够进行上下左右四个方向进行旋转,所有它由上下两部分组成,下面我们可以看做是一个“底座”,里面有电机等组件来实现角度的变化,而上面则是其摄像功能核心区域,而这样一个“底座”加上球形的摄像头,在造型上确实没有什么违和感。不过它体积确实要比那些不能转动的摄像头更大一些。

唯一的按钮

在材质方面,米家小白智能摄像机采用了SABIC基材,表面采用了镜面高光处理,视觉效果和手感都有着不错的表现。当然,米家小白智能摄像机最大的特点还是其支持四个方向的旋转功能,其采用了双马达无悬臂设计,横向可进行360度的选择。

ffmpeg是一个音视频处理库,通过命令行的形式,对音视频进行处理,而MobileFFmpeg
则是ffmpeg在移动端的实现,flutter_ffmpeg是对MobileFFmpeg的封装,是的在flutter下能够轻松的使用ffmpeg对音视频进行处理。flutter_ffmpeg包括两部分FFmpeg和FFprobe,其中FFmpeg负责音视频处理,而FFprobe主要负责查询音视频的媒体信息。
flutter_ffmpeg地址

android工程下的配置

上面配置中的”full-lts” 是flutter__ffmpeg各个发布版本的报名,可以查看官方文档的说明。有一个值得说明的地方是,flutter_ffmpeg有中发行包,一种是 Main Release,一种是LTS Release 发行包,而他们两者支持的 Android API Level/iOS SDK和硬件架构是不一样的,总的来说,LTS版本支持的更广泛,LTS支持度大于MAIN,所以我们最好使用LTS版本。
这里我遇到一个问题,使用full-lts编码格式,会出现上传到服务器无法播放视频的情况。
所以我这里是用的:

另外在使用flutter_ffmpeg的时候出现类似问题:

通过clean可以解决

使用gpl保证裁剪视频默认使用x264(不然会出现上传视频无法播放的问题),具体可以查看flutter_ffmpeg封装编码

flutter_ffmpge是ffmpeg在flutter上的一个实现,ffmpeg是通过命令行还进行音视频编辑的工具,因此我们使用fluter_ffmpeg自然也是运行一些命令来实现我们的功能。具体使用方法可以直接看 ffluter_ffmpeg官方文档 和 ffmpeg官方文档 ,或者看一下更加通俗易懂的 阮一峰文档 。接下来我们主要看看flutter_ffmpeg能干什么?

做音视频处理,首先我们肯定想知道我们的处理是否成功,或者效果好不好,那么我们只能通过处理的视频前后的参数进行对比,因此第一步我们要求这个视频处理库详细的给我们提供音视频的信息,flutter_ffmpeg的FFProde能够很好的实现这一点,而且使用很方便:

-r 20:表示帧率设置为 20fps

fs 20 : 表示文件大小最大值为15MB
把视频截了一部分 --- 这种方法不推荐

-s vga : 指定分辨率, vga 代表 600480,也可以换成其他的值

-b:v 15M : 指定码率
-b:v :指定视频的码率
-b:a : 指定音频的码率
15M:码率的值 15M 表示 15Mb/s

比如我在项目里用到上传到服务器的视频时长需要控制在60s以内的功能,我们就可以这样:

从n开始,裁剪m秒长度的视频

从n秒开始,裁剪到m秒的视频

>标签(空格分隔): 开发工具 前端

[toc]

前端开发,有时候需要给外网的测试人员浏览,此时若没有专门的测试服务器,那么使用内网穿透就是最简便通用的方式了。一个常见的选择就是 ngrok 。 也有 frp

ngrok官网

本地客户端跑起,搭建内网端口隧道给外网服务器,用户访问外网服务器对应地址,自动映射到本地对应地址。

这个方案很简单,也很慢,超慢,无法忍受的慢。

官网教程参看 >

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12810358.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存