[译+] Curl 另外一台机器
有时想对服务器进行期望的 curl 请求,但并不真的希望 curl 解析给定 URL 中的主机并使用它,而是期望它去其他地方。到某个非解析的主机上进行请求
ps(译者) : 这里有一个应用场景, 如下, 当前有一台分发机器, 需要添加另外一台机器来做应用的负载均衡, 但是在配置未完成之前不得进行切换, 所以可以使用 curl 来进行测试
有时想对服务器进行期望的 curl 请求,但并不真的希望 curl 解析给定 URL 中的主机并使用它,而是期望它去其他地方。到某个非解析的主机上进行请求
ps(译者) : 这里有一个应用场景, 如下, 当前有一台分发机器, 需要添加另外一台机器来做应用的负载均衡, 但是在配置未完成之前不得进行切换, 所以可以使用 curl 来进行测试
Nginx是世界上最受欢迎的网络服务器之一,负责托管互联网上一些最大和流量最高的网站。这是一个轻量级的选择,可以用作 Web 服务器或反向代理。
在本文中,将了解如何在 Rocky Linux 9 服务器上安装 Nginx、调整防火墙、管理 Nginx 进程以及设置服务器代码以从一台服务器托管多个域名和服务的访问。
原文地址 : NGINX : Block Known Bad Requests - RewriteGuide
阻止对服务器上不支持的文件扩展名的请求。例如,在仅支持 PHP 的服务器上
.asp
或.jsp
的请求。可以帮助防止网站/应用程序因无效请求而过载。
强制 使用小写的 url,这对于SEO避免重复内容惩罚尤其重要。在基于 windows 的服务器上更应该如此,因为 windows 默认情况下不区分大小写。对于良好的架构SEO来说,大小写混合的 url 重定向到标准化小写的 url 是非常有必要的
原文地址 : NGINX: Add Client-side Caching for Static Assets- RewriteGuide
向浏览器发送缓存指令,这些指令将用于在客户端缓存静态资源。将对网站页面加载的感知速度产生明显影响,因为这些静态资产在浏览器缓存中存在时不会向 Web服务器 发送新请求
让浏览器缓存 30 天资源, 可以使用以下代码块
阻止特定的用户 agent 头的请求, 这对于控制不同的蜘蛛很有用
如果基于 user-agent 请求, 以下代码会比较有用
在默认的 rocky linux 是没有中文语言包的, 这样在某些情况下查看中文会产生乱码, 如下是查看 git 日志时候出现的乱码
可能不同的发行方对系统做了一些更新导致会存在中文语言包
参考命令 : localectl(1) - 控制系统的本地化与键盘布局
为了解决类似的这种问题, 我们需要安装我们需要的语言包
这里仅仅是对 Broti 算法进行简要的对比和描述, 不涉及到实际使用
在web应用中,为了节省流量,降低传输数据大小,提高传输效率,常用的压缩方式一般都是gzip,今天我们来介绍另外一种更高效的压缩方式brotli。
Brotli 是基于LZ77算法的一个现代变体、霍夫曼编码和二阶上下文建模。Google软件工程师在2015年9月发布了包含通用无损数据压缩的Brotli增强版本,特别侧重于HTTP压缩。
注意:使用算法的前提是启用了 https,因为 http 请求中 request header 里的 Accept-Encoding: gzip, deflate 是没有 br 的。
关于Brotli 算法详细请查看:https://zh.wikipedia.org/wiki/Brotli
网站的性能部分取决于用户浏览器下载的所有文件的大小。减小这些传输文件的大小可以使网站更快。对于那些在按流量计费的连接上支付带宽使用费的人来说,它还可以使网站成本更低。gzip
是一种流行的数据压缩程序。可以配置 Nginx 用于动态压缩它提供的文件。然后,这些文件在使用时由支持它的浏览器解压缩,没有任何损失,但可以在Web服务器和浏览器之间传输更少的数据量。好消息是,所有主流浏览器都支持
由于压缩的一般工作方式,某些文件压缩得比其他文件更好。例如,文本文件压缩得很好,通常最终会缩小两倍以上。另一方面,JPEG或PNG文件等图像已经按其性质进行了压缩,并且使用二次压缩很少或根本没有结果。另外压缩文件会耗费服务器资源,所以只压缩可以压缩的文件。
Nginx实现资源压缩的原理是通过 ngx_http_gzip_module
模块拦截请求,并对需要做 gzip 的类型做 gzip,ngx_http_gzip_module 是Nginx默认集成的,不需要重新编译,直接开启
这里仅仅对获取到的header 进行解析学习, 方便我们做最少的配置和最优化的服务器配置 , 首先贴出来我们的一个拓扑结构
我们仅仅在防护及设置host, 其他均不设置, 并且在服务机打印所有的 header 信息
canal 1.1.1版本之后, 内置增加客户端数据同步功能, Client适配器整体介绍: ClientAdapter
canal adapter 的 Elastic Search 版本支持6.x.x以上, 如需其它版本的es可替换依赖重新编译client-adapter.elasticsearch模块
canal 1.1.1版本之后, 增加客户端数据落地的适配及启动功能, 目前支持功能:
这里为 Canal 这个优秀的工具的简单用法以及文档做下记录
已经备份的文档树如下
–Canal 简介
–Deployer
–Client-Adapter
– ElasticSearch 适配器
本文主要描述一下功能
**canal [kə’næl]**,译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费
工作原理
此文章是多年前学习安装 elk 时候的日志, 现在已经有了更好的解决方案, 并且费用也不高, 参考
阿里云 : 日志服务sls_实时日志分析-阿里云
Jenkins 常见问题
当前存在的问题是加载页面时间过长
当前服务器拓扑结构如下
出现的详细报错现在没有记下来, 大致的意思是, 你为什么还用 ext3 的方式来挂载 ext4 的硬盘唻.
重启之后进入系统中, 想要修改 /ext/fstab
的时候提示文件不能修改, 所以重新挂载磁盘进入读写状态
ngx_http_stub_status_module
模块提供访问的基础信息
该模块不是默认构建的,应该使用配置参数 --with-http_stub_status_module
启用
我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。
密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。
这个方式同样可以拉取 git 代码, 后续会附上如何在 coding 中配置公钥
原文地址: Mac-zsh 安装和使用(原创)
首先,我们知道,shell 有很多种:可以通过命令 cat /etc/shells
可以查看系统支持哪些 shell: