Archives : May-2020

原文链接:「Nginx」- ngx http proxy module
文章分类:「Web_Service_Stack:Nginx_and_Tengine:4.Modules:ngx_http_proxy_module」
文章标识:「3fcb1462」

# proxy_send_timeout time;
Default: proxy_send_timeout 60s; Context: http, server, location
为「传输一个请求到代理服务器」设置超时时间。这个超时时间是两个写操作之间的,不是整个请求的超时时间。如果在这个时间内,代理服务器没有收到[……]

Read more

原文链接:「Groovy」- 使用正则表达式
文章分类:「05.Programming_Language:6.Apache_Groovy:3.Quick_Start_and_Tutorial:Regular_Expressions」
文章标识:「c896c343」

java.util.regex.Pattern
使用 ~string 即可定义 java.util.regex.Pattern 对象,例如 ~”[Gg]roovy” 或者 ~/[Gg]roovy/ 格式
java.util.regex.Matcher
使用 =~ 即可定义 java.util.regex[……]

Read more

原文链接:「Lantern」
文章分类:「04.Networks_and_Protocols:1.Computer_networking:Proxy_Server:Implement_the_Solution:Lantern」
文章标识:「391156e5」

官网主页:https://getlantern.org GitHub项目主页:https://github.com/getlantern/lantern
系统环境:Kali GNU/Linux Rolling 反正我没有配置成功。。。
参考文献

Lantern – Wikipedia[……]

Read more

原文链接:「Nginx」- http rewrite module
文章分类:「Web_Service_Stack:Nginx_and_Tengine:4.Modules:http_rewrite_module」
文章标识:「5ba5a826」

# if
「Module ngx_http_rewrite_module/if」 「If Is Evil」

# 判断用户使用IE浏览器
if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /msie/$1 break;
}

# 判断referer是否合法
# 参考val[……]

Read more

原文链接:「Node.js」- 提示和技巧
文章分类:「05.Programming_Language:7.HTML,_CSS,_JS:Node.js_and_NPM:Tips_and_Tricks」
文章标识:「9f2f144c」

# npm list -g # 显示所有用户目录中的包,以树形结构显示 # npm list -g – depth=0 # 指定树显示的深度 # npm list # 显示当前目录中的包
相关链接

npm tricks part 1: Get list of globally installed packages[……]

Read more

原文链接:「kubernetes」- 全部 kubernetes 对象
文章分类:「Kubernetes_and_Docker:06.Kubernetes_API_Objects」
文章标识:「7d2fff84」

本笔记所述的“对象”是指 Service、Pod、Deployment 等等对象。
如何查看所有可以使用的对象?
方法一、kubectl api-resoureces
使用 kubectl api-resources 命令
方法二、the API Reference guide
查看API文档:https://kubernetes.io/do[……]

Read more

原文链接:「Elasticsearch」- 设置 JVM 选项
文章分类:「Logging_-_We_all_need_logs!:1.Elasticsearch_-_Search_and_Analytics:5.Performance:Setting_JVM_options」
文章标识:「e9a6ea23」

第一步、查看当前配置
可以使用 GET/_nodes/stats/jvm 或者 GET/_nodes/<node_id>/stats/jvm 接口:

GET /_nodes/<your node id>/stats/jvm?pre[……]

Read more

原文链接:「systemd」- 修改单元文件
文章分类:「03.Operating_System_Administration:init_and_systemd:systemd_-_Modifying_services」
文章标识:「ab04fa65」

问题描述
系统安装某个服务,但是需要修改它的单元文件的参数。
由于这些服务是通过包管理器安装的,比如 YUM 安装,不建议直接修改包中的文件。因为随着软件的升级,该单元文件会被覆盖或者删除,因此不应该直接修改属于软件包的文件。
比如,安装了MySQL服务,单元文件/usr/lib/systemd/system/[……]

Read more

原文链接:「Nginx」- 杂记
文章分类:「Web_Service_Stack:Nginx_and_Tengine:x.Miscellanies」
文章标识:「19aa88a0」

# TODO Nginx配置文件格式化
关于“HTTP基本认证“配置
Restricting Access with HTTP Basic Authentication Module ngx_http_auth_basic_module
重写规则中排除某些URL地址
在Nginx中,进行rewrite跳转,一般的用法是“如果URI匹配表达式,则进行跳转”。
但是,有时也[……]

Read more

原文链接:「NPM」- 调整日志等级
文章分类:「05.Programming_Language:7.HTML,_CSS,_JS:Node.js_and_NPM:Log_Level」
文章标识:「f7f56e3f」

通过命令行指定日志等级,如下:

#!/bin/sh

npm install –verbose
npm install –loglevel silly

根据官方 npm-config 文档: 1)可用的日志等级有 “silent”, “error”, “warn”, “notice”, “http”, “timing”, “info”[……]

Read more

原文链接:「Node.js」- 安装
文章分类:「05.Programming_Language:7.HTML,_CSS,_JS:Node.js_and_NPM:Installing_Nodejs_on_Linux」
文章标识:「9ce8e1b5」

# 08/13/2019 Debian and Node.js v12.x

#!/bin/sh

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_12.x | bash –
apt-get install -y nodejs

#[……]

Read more

原文链接:「Tengine」
文章分类:「Web_Service_Stack:Nginx_and_Tengine:Tengine」
文章标识:「f2eafe94」

# 与Nginx版本的对应关系
到该项目的GitHub仓库上,然后看README.md的Features部分,该部分里面描述了该版本的Tengine基于的Nginx版本。
2.30 – nginx-1.15.9
# Nginx vs. Tengine
# TODO 进行Nginx与Tengine的对比 「Comparison of the usage of Nginx vs. Tengine f[……]

Read more

原文链接:「HAProxy」- 在TCP模式下,从Haproxy向Nginx传递客户端IP地址
文章分类:「Web_Service_Stack:Nginx_and_Tengine:x.Miscellanies:rewrite_the_IP_address_of_HAProxy」
文章标识:「aed34a0e」

典型场景
客户端Client访问对外开放的HAProxy服务,然后由HAProxy负责负载均衡,来向后端的Nginx服务转发流量。如图:

存在的问题
从Nginx获取到的IP地址为HAProxy的IP地址,而不是客户端Client的IP地址。[……]

Read more

原文链接:「PHP」- 常见错误汇总
文章分类:「05.Programming_Language:3.PHP_-_Hypertext_Preprocessor:z.Error_List_(PHP)」
文章标识:「e8faa3a6」

#3 TODO PHP SESSION MEMCACHE
# TODO 在PHP中,当session使用memcache存储时,如果memcache无法访问,则是什么状态。 -「Securing Session INI Settings」 -「Runtime Configuration」
#2 socket_sendto() Message[……]

Read more

原文链接:「Nginx」- no resolver defined to resolve
文章分类:「Web_Service_Stack:Nginx_and_Tengine:z.Error_List_(Nginx_and_Tengine):no_resolver_defined_to_resolve」
文章标识:「2b6aac10」

问题症状
Nginx的错误日志里,有如下信息:

no resolver defined to resolve example.com

问题原因
这已经和明显了,就是提示你没有定义resolver指令。[……]

Read more

原文链接:z.Error List (Nginx and Tengine)
文章分类:「Web_Service_Stack:Nginx_and_Tengine:z.Error_List_(Nginx_and_Tengine)」
文章标识:「065325b2」

# ‘struct crypt_data’ has no member named ‘current_salt’
「Tengine Docker问题 #721」 「bugfix: error “‘struct crypt_data’ has no member named ‘current_salt'” occurs w[……]

Read more

原文链接:「Nginx」- 配置文件格式化
文章分类:「Web_Service_Stack:Nginx_and_Tengine:x.Miscellanies:Formatter_for_config_files」
文章标识:「4cd7ab74」

!!!实际上,对于Nginx配置文件,最需要的不是格式化,而是合适的缩进。
工具整理
# 命令行工具
「Nginx Formatter」 这是目前能找到的,Star比较多的项目 (05/22/2019)Latest commit 4ea6bbc on Feb 13
「nginxbeautifier」
「co[……]

Read more

原文链接:「Groovy」- 循环
文章分类:「05.Programming_Language:6.Apache_Groovy:3.Quick_Start_and_Tutorial:Loop」
文章标识:「1fe10326」

使用 each 方法

listFoo.each { item ->
// do some stuff
}

使用 find 方法
Can you break from a Groovy “each” closure?
当使用 find 遍历时,在 Cloure 中返回 true 将停止遍历:

def[……]

Read more

原文链接:「Nginx」- 安装
文章分类:「Web_Service_Stack:Nginx_and_Tengine:1.Installation」
文章标识:「e6f3f9e3」

# 08/10/2019 CentOS Linux release 7.6.1810 (Core)
按照道理将应该不会有什么问题,但是在阿里云的CentOS系统里找不到这个包。
可以直接从官方的源中安装:

#!/bin/sh

# http://nginx.org/packages/centos/7/x86_64/RPMS/
rpm -ivh http://nginx.or[……]

Read more

原文链接:「Nginx」- 日志路径中使用变量
文章分类:「Web_Service_Stack:Nginx_and_Tengine:x.Miscellanies:variable_in_error_log_and_access_log」
文章标识:「0b5e19b0」

# access_log(ngx_http_log_module)
在指令access_log中使用变量:

access_log /home/me/sites/${server_name}.access.log;

但是需要从(0.7.6+)以后,并且存在一些限制:[……]

Read more