路由

PHP的MIPS交叉编译(CC=mipsel-openwrt-linux-uclibc-gcc,LD=mipsel-openwrt-linux-uclibc-ld)

試著忘記壹切 提交于 2020-02-07 00:21:01
物联网内存吃紧,跑JVM这种内存大户肯定吃不消. 要跑还是跑C实现的服务,比如Nginx+PHP+SQLite. 比如一些家用无线路由器,系统是Linux发行版OpenWrt,内存只有64MB到128MB,单核580MHz. 而PHP内置HTTP服务器和SQLite数据库,在无线路由器里对外提供HTTP服务丝毫没有问题. 交叉编译PHP也很简单: cd /opt/miwifi/src/php-7.1.5 CC=mipsel-openwrt-linux-uclibc-gcc \ AR=mipsel-openwrt-linux-uclibc-ar \ LD=mipsel-openwrt-linux-uclibc-ld \ RANLIB=mipsel-openwrt-linux-uclibc-ranlib \ STRIP=mipsel-openwrt-linux-uclibc-strip \ ./configure \ --host=mipsel-openwrt-linux-uclibc \ --prefix=/opt/miwifi/php/7.1 \ --enable-cli \ --disable-cgi \ --disable-fpm \ --disable-phpdbg \ --disable-all \ --with-sqlite3 \ --with-pdo-sqlite \

Vue 之配置路由懒加载

泪湿孤枕 提交于 2020-02-07 00:12:53
首先,查看官方手册 【此步骤不是必要的,可以直接看下面的实现步骤】 找到 Vue Router 官方手册,找到 “路由懒加载” 模块, 点击跳转 在该页面内找到 syntax-dynamic-import 插件链接 ,如下图所示: 然后开始实现 第一步,安装 syntax-dynamic-import 插件 安装方式一:npm 安装 npm install -- save - dev @babel / plugin - syntax - dynamic - import 安装方式二:可视化安装 第二步,声明 syntax-dynamic-import 插件 在项目中找到 babel.config.js ,添加代码 module . exports = { 'plugins' : [ '@babel/plugin-syntax-dynamic-import' ] } 第三步,使用路由懒加载方式加载路由 其中,group-Foo-Bar 和 group-Baz 为分组名称,分组名称相同的为一组 const Foo = ( ) => import ( /* webpackChunkName: "group-Foo-Bar" */ './Foo.vue' ) const Bar = ( ) => import ( /* webpackChunkName: "group-Foo-Bar" *

SpringCloud学习之Zuul

心不动则不痛 提交于 2020-02-06 16:05:34
1. zuul   zuul是Netflix设计用来为所有面向设备、web网站提供服务的所有应用的门面,zuul可以提供动态路由、监控、弹性扩展、安全认证等服务,他还可以根据需求将请求路由到多个应用中。 2. zuul的作用 (1)要进入一个服务本身,很明显我们没有特别好的办法,直接输入IP地址+端口号,我们知道这样的做法很糟糕的,这样的做法大有问题,首先暴露了我们实体机器的IP地址,别人一看你的IP地址就知道服务部署在哪里,让别人很方便的进行攻击操作。   (2)我们这么多服务,我们是不是要挨个调用它呀,我们这里假设做了个权限认证,我们每一个客户访问的都是跑在不同机器上的不同的JVM上的服务程序,我们每一个服务都需要一个服务认证,这样做比较繁琐。 那么我们这时候面临着这两个极其重要的问题,这时我们就需要一个办法解决它们。首先,我们看IP地址的暴露和IP地址写死后带来的单点问题,我是不是对这么服务本身我也要动态的维护它服务的列表呀,我需要调用这服务本身,是不是也要一个负载均衡一样的玩意, 还有关于IP地址暴露的玩意,我是不是需要做一个代理呀,像Nginx的反向代理一样的东西,还有这玩意上部署公共的模块,比如所有入口的权限校验的东西。因此我们现在需要Zuul API网关。它就解决了上面的问题,你想调用某个服务,它会给你映射,把你服务的IP地址映射成 某个路径,你输入该路径,它匹配到了

极路由 斐讯K2 Newifi 华硕固件 实现ipv6穿透方法

大兔子大兔子 提交于 2020-02-06 15:52:17
摘要:校园网带ipv6协议,可以用来登六维,玩PT。传统路由器只能实现ipv4的路由功能,不能实现ipv6路由功能。我这边的校园网是ipv4需要登陆账号,ipv6原生免费。传统方法需要使用桥接模式,但是每连一台设备都需要登陆一个ipv4账号。那么如何实现路由器只能一个账号,既能使用ipv6又能使用ipv4成为一个可以研究的问题。 设备:极路由 斐讯K2 Newifi等等,要求刷华硕固件 方法: 方法一(转载地址:http://webcache.googleusercontent.com/search?q=cache:ezYra2fS_KwJ:www.panwanling.com/Arago/p/6480005.html+&cd=11&hl=zh-CN&ct=clnk&gl=hk) 1.路由器ipv6配置 登录华硕固件管理界面,进入高级设置-外部网络(WAN)-ipv6配置,IPv6 连接类型选Native DHCPipv6,获取 IPv6 外网地址选Stateless:RA。并勾选自动获取 IPv6 DNS、通过 DHCPv6 获取内网 IPv6 地址,启用 LAN DHCPv6 服务器选Stateless:Ra。 2.opt环境设置 opt能安装软件包,而实现穿透的软件6relayd得靠opt安装 登录华硕固件管理界面,进入配置扩展环境,勾选启用 opt 自动更新,启用 扩展脚本

华为链路状态型路由协议(OSPF)之多区域OSPF基础理论

我是研究僧i 提交于 2020-02-06 10:33:22
怎么理解单区域和多区域? 单区域就是整个OSPF网络中之包含了区域0,单区域网络拓扑的不断扩展会降低OSPF工作效率,所以引出路由网络的层级化,定义了多区域的概念。 作用:改善网络的可扩展性,快速收敛 划分多区域后,每个OSPF区域可以容纳多少台路由器? 单个区域所支持的路由器数量的范围大约是30-200。但在一个区域内实际加入的路由器数量要小于单个区域所能容纳路由器的最大数量。这是因为还有更为重要的一些因素影响着这个数量,比如一个区域内链路的数量,网络拓扑的稳定性、路由器的内存和CPU性能、路由汇总的有效使用和注入到这个区域的汇总LSA的数量等。正是由于这些因素,有时在一些区域里包含25台路由器可能都已经显得比较多了,而在另一些区域内却可以容纳多于500台的路由器。 什么是分层结构? 简单理解分层结构就是给OSPF网络划分多个不同的区域,随便查一查OSPF头部封装结构,不难发现区域的编号是一个32位的二进制数,可以用点分十进制表示也可以用一个十进制表示,在华为设备上默认用点分十进制。 多区域网络中的OSPF路由器的类型 1、内部路由(Internal Router):所有接口被划分到同一个区域 2、骨干路由(Backbone Router):所有接口被划分到区域0 3、区域边界路由(Area Border Router):简称ABR路由,顾名思义,有接口被划分到区域0

SMPP协议,CMPP协议是啥子

巧了我就是萌 提交于 2020-02-06 09:01:55
SMPP协议,CMPP协议是啥子? CMPP和SMPP都是短信协议中的一种,但它们不是同一类型的协议。SMPP和ESME和SMC(短信中心)之间的协议,而CMPP是SP和中国移动ISMG之间的通讯协议。 SMPP协议,CMPP协议的区别 SMPP协议是点对点协议,又称之为端口对端口协议。一般用在国际短信上。 CMPP是SP(移动端:手机号)对ISMG(互联网短信中心管理)协议,是中国移动的协议。对应的协议有,联通的SGIP协议,中国电信的SMGP协议,网通的CNGP协议。 因为协议差异SMPP的请求数据会比CMPP的更加严谨,可以参考: https://blog.csdn.net/tylz04/article/details/9045637 https://blog.csdn.net/daibei0402/article/details/4909115 它们的互联网短信王国逻辑网络结构如图1 这边重点讲哈CMPP协议。 CMPP功能概述 CMPP协议主要提供以下两类业务操作: (1)短信发送(Short Message Mobile Originate,SM MO) 典型的业务操作举例如图2所示: 1)手机发出数据请求(可能是订阅信息或图片点播等),被归属ISMG接收; 2)归属ISMG对接收到的信息返回响应; 3)归属ISMG在本地查询不到要连接的SP,向GNS(汇接网关

Rabbitmq的几种交换机模式

霸气de小男生 提交于 2020-02-06 02:21:43
Rabbitmq的核心概念(如下图所示):有虚拟主机、交换机、队列、绑定; 交换机可以理解成具有路由表的路由程序,仅此而已。每个消息都有一个称为路由键(routing key)的属性,就是一个简单的字符串。 最新版本的RabbitMQ有四种交换机类型,分别是Direct exchange、Fanout exchange、Topic exchange、Headers exchange。 (一)、 Direct Exchange – 处理路由键。需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到该交换机上要求路由键 “dog”,则只有被标记为“dog”的消息才被转发,不会转发dog.puppy,也不会转发dog.guard,只会转发dog。(一对一的匹配才会转发) (二)、 Fanout Exchange – 不处理路由键。你只需要简单的将队列绑定到交换机上。一个发送到交换机的消息都会被转发到与该交换机绑定的所有队列上。很像子网广播,每台子网内的主机都获得了一份复制的消息。Fanout交换机转发消息是最快的(也号称广播转发消息,会转发到所有绑定此交换机的队列上) (三)、 Topic Exchange – 将路由键和某模式进行匹配。此时队列需要绑定要一个模式上。符号“#”匹配一个或多个词,符号“*”匹配不多不少一个词。因此

RabbitMQ 一二事(5) - 通配符模式应用

Deadly 提交于 2020-02-06 02:12:45
之前的路由模式是通过key相等来匹配 而通配符,顾名思义,符合条件,则进行消息匹配发送 将路由键和某模式进行匹配。此时队列需要绑定要一个模式上。 符号 “#” 匹配一个或多个词,符号 “*” 匹配不多不少一个词。 因此 “audit.#” 能够匹配到 “audit.irs.corporate” ,但是 “audit.*” 只会匹配到 “audit.irs” 如图: 官网截图: 代码示例: 服务方 接收方1 接受方2 路由模式也是通配符模式的一种 在生产环境中,以通配符模式用的较多 当然简单应用的话路由模式也够了 来源: https://www.cnblogs.com/leechenxiang/p/5525388.html

Vue前端路由(Vue-router)

梦想的初衷 提交于 2020-02-06 00:59:50
1.路由的概念 路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地址之后,浏览器要去请求这个url地址对应的资源。 那么url地址和真实的资源之间就有一种对应的关系,就是路由。 路由分为前端路由和后端路由 1).后端路由是由服务器端进行实现,并完成资源的分发 2).前端路由是依靠hash值(锚链接)的变化进行实现 后端路由性能相对前端路由来说较低,所以,我们接下来主要学习的是前端路由 前端路由的基本概念:根据不同的事件来显示不同的页面内容,即事件与事件处理函数之间的对应关系 前端路由主要做的事情就是监听事件并分发执行事件处理函数 2.前端路由的初体验 前端路由是基于hash值的变化进行实现的(比如点击页面中的菜单或者按钮改变URL的hash值,根据hash值的变化来控制组件的切换) 核心实现依靠一个事件,即监听hash值变化的事件 window.onhashchange = function(){ //location.hash可以获取到最新的hash值 location.hash } 前端路由实现tab栏切换: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial