Windows通过nssm将frp(任意程序)配置成服务
Windows通过nssm将frp(任意程序)配置成服务介绍NSSM是一个服务封装程序
它可以将普通exe程序封装成服务,使之像windows服务一样没有页面运行。
它的特点如下:
支持普通 exe 程序(控制台程序或者带界面的 Windows 程序都可以)
安装简单,修改方便
可以重定向输出(并且支持 Rotation)
可以自动守护封装了的服务,程序挂掉了后可以自动重启
可以自定义环境变量
下载我们去下载NSSM服务。
官网http://www.nssm.cc/download
最新版nssm 2.24 (2014-08-31更新)
已经快10年没更新的软件了, 但还是可以用的, 就是页面有点旧
使用
例如将内网穿透软件 frp 设置为 windows 服务(在 windows 平台使用 frp 最大的问题是自动启动经常失效,导致网络连不通。将程序做到服务中,每次开机自启动,再也不担心启动不正常的问题)下文我们用frp做例子
把下载的nssm文件放入frp客户端(或者你想启动的其他文件)目录
cmd定位至nssm.exe所在目录
输入 nssm install ...
Kafka+Zookeeper集群部署测试
Kafka+Zookeeper集群部署测试Zookeeper部署Zookeeper部署-本站传送门
本文使用的是zk3.4.9版本
Kafka部署下载安装https://kafka.apache.org/downloads
本文使用的是2.0.0版本, 下方可以直接下载
https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
下载解压
12curl -OL https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgztar -zxvf kafka_2.11-2.0.0.tgz
然后改名
1mv kafka_2.11-2.0.0/ kafka
修改配置配置文件都在config文件夹下面
主要关注:server.properties 这个文件即可,我们可以发现在目录下有很多文件, 有的可以先不管
1234567891011121314151617181920212223242526272829303132333435# 当前机器在集群中的唯一标识 ...
ElasticSearch学习05
ElasticSearch学习05Python中的ElasticSearch模块其实ElasticSearch的接口可以直接使用http来调用
我们使用Python中的request等模块可以直接进行调用
但是ElasticSearch官方也封装了一个模块
我们可以直接使用封装好的模块进行调用, 也比较方便
官方文档
requests模块调用es直接上个例子吧, 还是比较好理解的
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970import requestsimport jsonimport timeclass ES: scroll_id = '' def __init__(self, host, index, auth): self.scrollUrl = host + "/_search/scroll" ...
ElasticSearch学习04
ElasticSearch学习04常用DSL官方文档
DSL介绍Domain Specific Language:领域特定语言
Elasticsearch基于JSON提供完整的查询DSL来定义查询。
一个查询可由两部分字句构成:
Leaf query clauses 叶子查询字句:Leaf query clauses 在指定的字段上查询指定的值,如:match、term or range queries. 叶子字句可以单独使用。
Compound query clauses 复合查询字句:以逻辑方式组合多个叶子、复合查询为一个查询。
一个查询字句的行为取决于它是用在query context 还是 filter context 中:
Query context 查询上下文:用在查询上下文中的字句回答“这个文档有多匹配这个查询?”。除了决定文档是否匹配,字句匹配的文档还会计算一个字句评分,来评定文档有多匹配,会参与相关性评分。查询上下文由 query 元素表示。
Filter context 过滤上下文:过滤上下文由 filter 元素或 bool 中的 must not 表示。用 ...
Linux下后台运行程序的2种常用方式
Linux下后台运行程序的2种常用方式nohup命令简介nohup 的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行。常见的用法是和 & 命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运行。
将程序放到后台运行,一般有两种方式:
(1)command &:后台运行,关掉终端会停止运行。
(2)nohup command & :后台运行,关掉终端也会继续运行。
注意:
(1)如果使用nohup执行程序未显示进行标准输出重定向,则标准输出默认重定向当前工作目录的 nohup.out 文件中。如果当前工作目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开用于追加,那么 command 参数指定的命令不可调用。
(2)如果标准错误未显示重定向,那么标准错误默认重定向到与标准输出相同的文件。
命令格式12nohup COMMAND [ARGS]nohup OPTION
选项说明1234--help 显示帮助信息并退出--version 显示版本信息并退出
常用示例( ...
ElasticSearch学习03
ElasticSearch学习03logstash插件简单使用grok插件官方文档
Grok 是 Logstash 最重要的插件。使用之前一定学会正则表达式,可以在 grok 里预定义好命名正则表达式,在之后(grok参数或者其他正则表达式里)引用它。
语法格式grok的提取字符串内容的语法其实就是在正则表达式基础之上进行封装,Logstash grok内置了120种默认表达式,解决很多日常需求,不需要重头编写复杂的正则表达式。
grok表达式语法:
%{模式名:自定义字段名}
模式名 - 指的就是预先定义好的正则表达式的别名,例如:IP 可以匹配ip内容。
自定义字段名 - 通过模式匹配到内容后,将内容保存到这个自定义的字段中
%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}
解释就是
%{IP:client} - 匹配IP内容,结果保存到client字段
%{WORD:method} - 匹配非空字符串内容,结果保存到method字段
%{URI ...
Elasticsearch中的Mapping映射
Elasticsearch中的Mapping映射Mapping为index中的文档创建的数据结构和相关配置,称为Mapping映射。
精确匹配与全文搜索ES对不同的类型有不同的存储和检索方式
exact value: 精确匹配(如date),在索引的分词阶段, 会将整个value作为一个关键词建立到倒排索引中。
full text 全文检索(如text),对值进行拆分词语后(分词)进行匹配,也可以通过缩写、时态、大小写、同义词等进行匹配
ES自动创建映射我们在插入数据的时候,如果不指定映射,ES会自动帮我们创建映射。
插入数据
1234567891011121314151617181920212223PUT /website/_doc/1{ "post_date": "2019-01-01", "title": "my first article", "content": "this is my first article in this website&q ...
ElasticSearch学习02
ElasticSearch学习02操作ElasticSearch入口是直接用Kibana的Dev进行操作
安装kibana直接下载安装kibana Kibana 7.10.0 | Elastic
编辑/config/kibana.yml
123456789server.host: node1server.port: 5601elasticsearch.hosts: ["http://node1:9200"]kibana.index: ".kibana"elasticsearch.username: "elastic"elasticsearch.password: "123456"
这里有个问题
通过keystore配置加密的用户名密码信息时候发现报错 FATAL Error: [config validation of [elasticsearch].password]: expected value of type [string] but got [number]
查证得知kibana官方不允许在 ...
ElasticSearch学习01
ElasticSearch学习Elasticsearch简介
Elasticsearch(简称ES)是一个基于Apache Lucene?的开源搜索引擎,无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。注意,Lucene 只是一个库。想要发挥其强大的作用,你需使用 Java 并要将其集成到你的应用中。
Lucene 非常复杂,你需要深入的了解检索相关知识来理解它是如何工作的,就跟学习 springmvc 之前先从 servlet 开始,繁琐复杂的工作,Solor、Elasticsearch 应由而生, 其使用 Java 编写并使用 Lucene 来建立索引并实现搜索功能,但是它的目的是通过简单连贯的 RESTful API 让全文搜索变得简单并隐藏 Lucene 的复杂性。
Elasticsearch安装部署安装虚拟机
官网的VMwareWorkstation安装包(附激活码)收集地址
https://github.com/201853910/VMwareWorkstation
安装过程省略
安装镜像
本次使用的系统为 Cent ...
Logstash学习_基础
Logstash学习_基础任务
1.理解logstash在ELK中的“位置”:数据清洗与格式化,也可以作为收集器,使用java编写,较为重量级,丰富的插件,具有较强的处理能力(https://www.elastic.co/guide/en/logstash/6.8/introduction.html)
2.logstash安装(使用tar压缩包安装,不需要安装java环境)https://www.elastic.co/guide/en/logstash/7.10/installing-logstash.html#installing-binary
3.认识config目录下的jvm.options的内容:修改Xmx和Xms值适合自己的虚拟机或服务器;了解logstash.yml和pipeline.yml,两个文件分别是logstash的主配置文件和加载配置文件的配置(类似filebeat,但logstash正式的启动方式原本就具备配置文件的加载文件,但启动动态加载需要在logstash.yml里面配置);pipeline.yml里面写的是每一个外部的配置文件和指定多少个线程,当这两个 ...