这里主要记录Nginx服务器的反向代理proxy_pass配置方法中容易踩坑的地方,就是经常被提到的url的/问题的相关说明,需要的朋友可以参考下
普通反向代理 Nginx的普通的反向代理配置还是比较简单的,如:
location ~ /* { proxy_pass http://192.168.1.12:8080; } 或者可以
location / { proxy_pass http://192.168.1.12:8080; } 如果要配置一个相对复杂的反向代理,比如,将url中以/test/开头的请求转发到后台对应的某台server上
可以在Nginx里设置一个变量,来临时保存/test/后面的路径信息
location ^~ /test/ { if ($request_uri ~ /test/(\d+)/(.+)) { set $id $1; set $params $2; } proxy_pass http://backend$id.
今天在实际脚本中遇到了一个python的变量赋值的坑,将字典从一个变量a赋值给另外一个变量b之后,修改了原始变量a的值,本意是保持b变量为原始值不动,结果修改a之后发现b的值也随着改变了,经过一番查询以及自己的测试之后,确认原来python中的list和dict数据类型采用的是浅拷贝。
列表的具体测试如下:
>>> a = ['1']
>>> b = a
>>> a.append('2')
>>> a
['1', '2']
>>> b
['1', '2'] 可以看到当改变a的值时,b的值也跟着一起改变了。 再看字典的例子:
>>> ar = {'x':'1','y':'2'}
>>> br = ar
>>> br
{'y': '2', 'x': '1'}
>>> ar['x'] = '3'
>>> br
{'y': '2', 'x': '3'}
>>> ar
{'y': '2', 'x': '3'} 其实还可以有更简单的验证方式,即查看变量的id值:
CURL可以详细打印出请求过程每一步所消耗的时间,对于我们日常的排查故障非常有用。
下面说一下具体的使用方法:
1.建立一个命令格式文件 \n time_namelookup: %{time_namelookup}\n time_connect: %{time_connect}\n time_appconnect: %{time_appconnect}\n time_pretransfer: %{time_pretransfer}\n time_redirect: %{time_redirect}\n time_starttransfer: %{time_starttransfer}\n ----------\n time_total: %{time_total}\n \n 说明:
time_namelookup:DNS解析域名时间,把域名—>ip的时间
time_connect:TCP连接的时间,三次握手的时间
time_appconnect:SSL|SSH等上层连接建立的时间
time_pretransfer:从请求开始到到响应开始传输的时间
time_redirect:从开始到最后一个请求事务的时间
time_starttransfer:从请求开始到第一个字节将要传输的时间
time_total:总时间
2.命令使用方法 curl -w “@curl” -o /dev/null -s -d “username=aaa&password=bbb” https://xxx.
本文主要记录ELK的测试环境的搭建过程
1.环境以及架构 Jumper 系统版本 IP地址 主机名 角色 d1000 CENTOS 7 10.2.0.10 centosELK10 Kibana d1000 CENTOS 7 10.2.0.11 centosELK11 Logstash d1000 CENTOS 7 10.2.0.12 centosELK12 ElasticSearch 本次的所有环境均是基于CENTOS7系统进行搭建。
首先是准备环境,安装JAVA运行环境JDK。
yum install java-1.8.0-openjdk-devel 2.
昨日微软撤回了Windows 10的2018年十月更新,让这次发布已经接近成为了一个笑话,不过更大的笑话还在后面:又有用户报告了十月更新当中的重大问题:本次操作系统版本更新曾被多次提供给相同的PC,尽管其中一些实际安装成功,微软还是非常客气地无事献殷勤:让他们再安装一遍。
换句话说,一些用户被提示安装2018年10月更新,即使在同一天早些时候,他们做了同样的事情。
虽然这是一个非常尴尬的错误,但万幸的是,第二次安装2018年10月更新,系统重启和所有内容,都没有更改受影响系统上的文件。
reddit的一个讨论主题证实了几个用户遇到了这个问题,虽然目前还不知道这个bug究竟有多广泛。
但是,随着Windows 10 10月2018 Update的撤下,此问题不再发生,用户将无法再看到通过Windows Update提供的新版本。
Windows 10 10月2018更新,也称为版本1809,于10月2日宣布,同一天,微软开始允许用户通过手动检查后通过Windows Update下载。
然而,到目前为止,新操作系统功能更新带来了众多问题,最糟糕的问题导致在升级期间完全删除用户文件,虽然目前尚不清楚有多少台PC出现此问题,但微软决定完全撤销2018年10月的更新。
目前还不知道微软什么时候想恢复推出,但随着10月的周二补丁日即将到来,预计下周会有更多这方面的新闻。
安装配置openresty 下载源码 cd /usr/local/src
wget https://openresty.org/download/openresty-1.13.6.2.tar.gz 解压后编译安装 yum install pcre-devel openssl-devel gcc curl #需要事先准备好需要的依赖包
tar xzf openresty-1.13.6.2.tar.gz
cd openresty-1.13.6.2
./configure --prefix=/usr/local/openresty --with-luajit --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-debug
gmake -j2 ##由于是双核CPU,所以编译时添加-j2的参数
gmake install
在elastic 5.*版本开始支持ingest node功能,他可以在一定程度上替代Logstash的处理功能,只要是熟悉了其支持的格式之后,配置还是比较简单的。
1.测试可以用如下命令 curl -v -H ‘Content-Type: application/json’ -X POST ‘http://10.2.4.34:9200/_ingest/pipeline/_simulate’ [email protected]
filebeat.test.json的内容如下:
{
"pipeline" : {
"description" : "nginx access log",
"processors": [
{
"grok": {
"field": "message",
"patterns": ["%{IP:client_ip} %{TIMESTAMP_ISO8601:iso_time} %{BASE10NUM:timestamp} %{BASE10NUM:request_time} %{BASE10NUM:request_length} %{INT:connection_id} %{INT:connection_requests} %{PATH:uri} \"%{WORD:request_method} %
{NOTSPACE:request} HTTP/%{NUMBER:httpversion}\" %{NUMBER:response_status} (?