GoAhead

Let's Encrypt免费泛域名证书申请

陌路散爱 提交于 2021-02-16 10:54:34
一. 下载acme.sh,以下四条命令任选一条即可 curl https: // get.acme.sh | sh wget -O - https://get.acme.sh | sh curl https: // raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh | INSTALLONLINE=1 sh wget -O - https: // raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh | INSTALLONLINE=1 sh 二、申请Let’s Encrypt免费泛域名证书 第一步获取验证DNS所需要的TXT记录,下面命令中两个“-d”建议先输入泛域名,这样在证书里可以显示*.alsji.cn这样的泛域名,显得比较吊一些。 [root@test ~]# acme. sh --issue -d *.alsji.cn --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please 三、到域名DNS解析服务商处添加域名的TXT解析 上面的命令运行后可能要等上一会,然后会出现下图的结果,其中绿色部分就是需要做TXT记录的主机头和TXT的解析值,因为上面第二里面两个“-d”,所以这里有两个解析值

[Algorithm] Heap data structure and heap sort algorithm

房东的猫 提交于 2020-12-29 22:20:35
Source , git Heap is a data structure that can fundamentally change the performance of fairly common algorithms in Computer Science. The heap data structure is called a heap because it satisfies the heap property. The heap property states, that if P is a parent node of C, then the value of node P is less than the value of node C. In this lesson we discuss the key operations of the Heap data structure along with their performance. We then implement the data structure using TypeScript / JavaScript Here we have a graph of nodes A,B,C,D,E Its nice to have a mental model of a heap as a complete

[翻译]——Zabbix: Partitioning MySQL / MariaDB database Tables in 5 min

拟墨画扇 提交于 2020-10-27 16:16:23
前言:本文是对这篇博客Zabbix: Partitioning MySQL / MariaDB database Tables in 5 min的翻译,翻译如有不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处。谢谢! 英文地址:https://bestmonitoringtools.com/zabbix-partitioning-tables-on-mysql-database 在本教程中,我们将逐步学习如何使用分区脚本(partitioning script)在MySQL或MariaDB服务器上对Zabbix数据库(history和trends表)进行分区。 Zabbix从主机采集数据并将其存储在history和trends表中,Zabbix的history表中保存原始数据(Zabbix采集的每一个值),trends表中存储每小时内的合并数据,那些数据的平均值、最小值、最大值。 Zabbix的housekeeping进程负责删除trends表和history表中的旧数据。使用delete语句从数据库删除旧数据可能对数据库性能产生负面的性能影响。因此,我们中许多人都收到过令人讨厌的警报 “ Zabbix housekeeper processes more than 75% busy ” 这个问题能够通过数据库分区方案轻松的解决

goahead(嵌入式Web服务器)之交叉编译、移植篇

白昼怎懂夜的黑 提交于 2020-08-09 07:31:42
GoAhead简介: GoAhead是一个开源(商业许可)、简单、轻巧、功能强大、可以在多个平台运行的嵌入式Web Server。 GoAhead主要特性: 1 很小的内存消耗 2 支持认证功能Digest Access Authentication (DAA) 3 支持安全的通信,例如SSL(安全的套接字层) 4 支持动态Web页面,如ASP页面 5 可以使用传统的C语言编程定制Web页面里的HTML标签 6 支持CGI(公共网关编程接口) 7 嵌入式的Javascript脚本翻译器 8 独特的URL分析器 9 它基本上属于一个HTTP1.0标准的WEB服务器,对一些HTTP1.1的特性如(持久连接)也提供了支持。每秒65次connections 10 可执行文件大小、内存使用情况:内存需求60K,它的WIN CE版本编译后的大小还不到60k。 goahead源码(百度云盘) 链接:https://pan.baidu.com/s/1ux_9k3ixycMFjLsmHRirBQ 提取码:0gmd goahead版本:5.1.1 交叉编译: 进入goahead-5.1.1目录,进行编译 make CC=工具链(如arm-himix200-linux-gcc) ARCH=arm //编译 make CC=工具链(如arm-himix200-linux-gcc) ARCH=arm

万字长文|如何定义“失败的产品经理”

霸气de小男生 提交于 2020-07-28 06:01:29
前言:总有一种错觉,别人家的产品经理都是神一样,动不动改变世界的那种。就没有失败的产品经理吗? 提出问题的背景 前阵子刚刚和阿里、百度的产品经理聊过产品这块,总结输出了《腾讯产品流程》和《阿里系项目复盘》两篇文章。但是听到这么个故事,给了我当头一棒。 “过了这么些年,他每每谈起之前他就职过的公司,他参与的项目,唏嘘不已。他觉得还是自己眼光毒辣,他说他早就说过事情不能这么干,不能那么干,但那些人就是不听他的,因此失败已经注定,他们都是活该。他说他的老板和几个同事都是大傻逼。 他开始和我谈互联网,谈虚拟现实,谈未来方向,我听得云里雾里,他唾沫横飞,激情四射。似乎自己是那个「 Crazy One 」,只是时运不济。 他说很多人都不喜欢他,他觉得是自己太独特了,所以才不合群。他觉得有太多需要变革的东西,他都跃跃欲试。他说他就差一个伯乐和一个称心如意的平台了。 他又谈到他的阅读,对于《人人》、《结网》、《乌合》、《怪诞心理》、《体验要素》、《需求》 ……哦,还有那本他说张小龙推荐必看的书,和我谈他的一些阅读见解。他还谈到历史,常说的一句话是「历史总在不断重演」,意思是为什么有些人就是不知道教训,老是重复犯错,真是傻逼。 他是一个彻头彻尾的失败的产品经理。 你问我他是谁? 他有时是我,有时是你。 ” 听完这个故事,我和你们一样,感到很困惑。所以特意去产品社区提出了这样的一个问题: 如何定义 “

QuartzSchedulerThread 调度分析

寵の児 提交于 2020-07-28 05:21:40
1 Quartz 线程 Quartz 有两类线程,调度线程(红) 和 执行线程(绿),如图: 2 QuartzSchedulerThread 分析 QuartzSchedulerThread 为Quartz核心线程,负责任务的调度,读取用户设定的触发器并分配线程,使触发器能够按照预定时间执行。 2.1 执行步骤说明 循环判断调度是否应该停止,如果应该停止则清空资源结束调度 循环判断调度是否应该暂停,如果应该暂停则,则调用wait阻塞本线程,直到被外部唤醒 (被唤醒后)从线程池中查询可用的任务执行线程,若线程池中暂无可用线程,则阻塞本线程,直到获取至少一个可用线程 根据一定规则从任务存储区域(JobStore)中找出马上要执行的一批触发器 配置参数 idleWaitTime,默认为30000,即在当前时间后 30s 内即将被触发执行的触发器就会被取出 配置参数 misfireThreshold,默认为60000,即在当前时间的 60s 之前本应执行但尚未执行的触发器不被认为是延迟触发,也会取出。更早之前的由 MisfireHandlerThread 按 Misfire 策略处理。 配置参数 batchTriggerAcquisitionMaxCount,默认为1,即一次拉取的批次数量为【 Math.min(该值, 可用线程数) = 1】 当该值大于1时,在集群环境下,需确保

Asp.net Core MVC(四)

☆樱花仙子☆ 提交于 2020-04-19 04:26:17
上一篇说的是asp.net mvc核心UseMvc的过程,末尾想捋一下asp.net核心的路由流转过程,现在看来还是要准备下一个代码,熟悉了代码,那么整个流转过程就通了〜 不多说,今儿先看下,RouteContext: private RouteData _routeData; public RouteContext(HttpContext httpContext) { HttpContext = httpContext; RouteData = new RouteData(); } public RequestDelegate Handler { get ; set ; } public HttpContext HttpContext { get ; } public RouteData RouteData { get { return _routeData; } set { if (value == null ) { throw new ArgumentNullException(nameof(RouteData)); } _routeData = value; } } 这里可以理解RouteContext(路由子网)就是路由的环境。 其中包含三个属性器,RouteData,RequestDelegate与HttpContext。 那么什么时候设置路由的某些呢呢? 个人理解是

webserver中webpush技术的最简单cgi示例

天涯浪子 提交于 2020-03-02 18:37:55
嵌入式中一般是使用开源的Goahead webserver服务器,CGI也都是用C语言进行编写开发的。项目中想要在web上实现图片流的视频播放效果,考虑到两种方法,一种是浏览器端来进行图片的主动获取,一种是服务器端来进行图片的主动推送,即webpush技术。webpush技术显然更高效,但在Goahead上的实现过程中遇到了点问题。 下面是一个最简单的使用C语言编写的CGI来测试使用Goahead是否支持Webpush技术,以及运行的机制。 #include <stdio.h> #include <stdlib.h> int main() { int ret,i; printf("HTTP/1.1 200\r\n"); //http协议的头及push技术头 printf("Content-type: multipart/x-mixed-replace;boundary=section\r\n\r\n"); printf("--section\r\n"); //push内容的开始边界,服务器进行识别 for(i = 0; i < 10000; i++) { printf("Content-type: text/plain\r\n\r\n"); //指定内容的类型 printf("i = %d\n", i); printf("--section\n"); //下一次内容开始

基于SylixOS 对 Goahead 进行配置使用 OpenSSL

落爺英雄遲暮 提交于 2020-03-02 18:37:39
1. 编译并部署OpenSSL SylixOS支持OpenSSL,git地址为:http://git.sylixos.com/repo/openssl.git 获取OpenSSL工程源码后,导入RealEvo-IDE中编译,编译完成后生成动态库文件和openssl可执行文件,如下图所示。 配置设备IP地址并部署openssl和动态库到设备端。终端命令行输入openssl version可查看openssl版本号,如下图所示。 2. 配置GoAhead-WebServer GoAhead-WebServer默认不开启SSL,可通过修改相关文件启用SSL。 2.1 启动SSL相关宏定义 SSL相关宏定义位于bit.h头文件中,bit.h的路径如下图所示。 打开bit.h文件,默认情况下,SSL相关宏定义如下图所示。 可以看到,GoAhead-WebServer支持EST、MATRIXSSL、NANOSSL及OPENSSL四种SSL,由于SylixOS支持OpenSSL,因此这里需要设置使能OpenSSL,并禁用其他三种SSL。 BIT_PACK_SSL宏是控制GoAhead-WebServer是否使用SSL的,因此这里需要设置BIT_PACK_SSL为1。修改后的bit.h文件内容如下图所示。 2.2 配置libgoahead.mk 在启用OpenSSL后

Linux 环境Goahead环境搭建

只愿长相守 提交于 2020-02-17 15:25:37
Linux 环境Goahead环境搭建: 1、在官方网站下载最新的goahead的源码 http://embedthis.com/goahead/download.html,当前最新的是3.5.0 2、下载之后在Linux中解压源代码 tar –zxvf goahead-3.5.0-src.tgz 3、执行./configure 4、执行编译make 5、编译完成之后根据提示进行安装 make install 安装完成之后会自动创建相关文件: 程序生成文件:在当前目录下bulid/linux-x86-default/bin下 goahead配置文件:在/etc/goahead下 goahead默认文档目录:/var/www/goahead 6、启动goahead进入bulid/linux-x86-default/bin下 ./goahead -v --home /etc/goahead /var/www/goahead 0.0.0.0:8888 说明: ./goahead -v --home 配置文件路径 文档路径 绑定IP:监听端口 测试 在浏览器上输入127.0.0.1:8888 如果使用自己设计的html文件,可把自己的文件名修改为index.html,并替换/var/www/goahead目录下的index.html文件即可。 问题解决: 1、在启动时提示: goahead