[译] 如何在 Rocky Linux 9 上安装 Nginx

image.png
Nginx是世界上最受欢迎的网络服务器之一,负责托管互联网上一些最大和流量最高的网站。这是一个轻量级的选择,可以用作 Web 服务器或反向代理。
在本文中,将了解如何在 Rocky Linux 9 服务器上安装 Nginx、调整防火墙、管理 Nginx 进程以及设置服务器代码以从一台服务器托管多个域名和服务的访问。

阅读更多

强制使用小写的 url 地址

强制 使用小写的 url,这对于SEO避免重复内容惩罚尤其重要。在基于 windows 的服务器上更应该如此,因为 windows 默认情况下不区分大小写。对于良好的架构SEO来说,大小写混合的 url 重定向到标准化小写的 url 是非常有必要的

阅读更多

Nginx broti 压缩算法

这里仅仅是对 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

阅读更多

Nginx Gzip 压缩使用和详解

网站的性能部分取决于用户浏览器下载的所有文件的大小。减小这些传输文件的大小可以使网站更快。对于那些在按流量计费的连接上支付带宽使用费的人来说,它还可以使网站成本更低。
gzip 是一种流行的数据压缩程序。可以配置 Nginx 用于动态压缩它提供的文件。然后,这些文件在使用时由支持它的浏览器解压缩,没有任何损失,但可以在Web服务器和浏览器之间传输更少的数据量。好消息是,所有主流浏览器都支持
由于压缩的一般工作方式,某些文件压缩得比其他文件更好。例如,文本文件压缩得很好,通常最终会缩小两倍以上。另一方面,JPEG或PNG文件等图像已经按其性质进行了压缩,并且使用二次压缩很少或根本没有结果。另外压缩文件会耗费服务器资源,所以只压缩可以压缩的文件。
Nginx实现资源压缩的原理是通过 ngx_http_gzip_module 模块拦截请求,并对需要做 gzip 的类型做 gzip,ngx_http_gzip_module 是Nginx默认集成的,不需要重新编译,直接开启

阅读更多

nginx 优化连接数


未优化之前的连接数 NotEstablished 的数量到达了一定的峰值, 然后处于持平状态, 在这个时候服务器日志会报 500 错误

这个地方考虑到的可能性是链接数过多导致的服务器
/etc/sysctl.conf

阅读更多

[转] 利用 nginx 来屏蔽指定的 user_agent 的访问

原文地址 : 利用 nginx 来屏蔽指定的 user_agent 的访问
对于做国内站的我来说,我不希望国外蜘蛛来访问我的网站,特别是个别垃圾蜘蛛,它们访问特别频繁。这些垃圾流量多了之后,严重浪费服务器的带宽和资源。通过判断 user agent,在 nginx 中禁用这些蜘蛛可以节省一些流量,也可以防止一些恶意的访问。
1、进入 nginx 的配置目录,例如 cd /usr/local/nginx/conf
2、添加 agent_deny.conf 配置文件 vim agent_deny.conf
加入以下

阅读更多

Nginx 目录建议

安装 Nginx 时可以选择配置文件的路径,由于 Nginx 程序后续可能会升级版本,但配置基本上就是一份,那么推荐使用配置和程序分离的方式,遵循:

  1. 配置文件独立管理, 不存放在 nginx 程序目录内
  2. 每个站点独立一个配置文件
  3. 每个站点独立的日志文件
  4. 提取公用的配置文件

如:

阅读更多

OpenResty 介绍

OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。
OpenResty® 的目标是让你的 Web 服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。
详细文档参考 : https://openresty.org/cn/

阅读更多

配置泛域名转发

有的时候,我们需要配置一些自定义的子域名,如:

  • xuexb.user.demo.com
  • a01.user.demo.com

这时候就需要域名的 DNS 解析一个泛域名 *.user.demo.com 到服务器,Nginx 可以配置如下:

阅读更多

统计 Nginx 访问量

PV(Page View):即页面浏览量或者点击量,用户每一次对网站中每个页面访问均记录 1 个 PV。用户对同一页面的多次访问,访问量累积。
UV(Unique Visitor):指通过互联网浏览这个网页的人,电脑称为一个访客、手机也称为一个访客,一天之内相同的客户端只能被计算一次。
IP(Internet Protocol):指独立 IP 访问站点的 IP 总数,一天内相同 IP 只能算一次。
VV(Visit View):指所有访客一天内访问网站的次数,当访客完成所有浏览并最终关闭网站的所有页面时变完成了一次访问,同一访客一天内可能有多次访问行为,访问次数累积。
接下来看一下 Nginx 的配置文件:

/etc/nginx/nginx.conf
再看一下 access.log:

/var/log/nginx/access.log
access.log 文件里面的remote_user…等
查看各个访问量:
1.根据访问 IP 统计 UV

阅读更多

配置图片防盗链

防盗链是指当图片不是自己网站打开时返回 403 或者指定图片,是通过请求的来路判断是否是自己的站点来设置响应。

阅读更多

配置 HTTPS

重定向所有的站点到 https

通过在 nginx.conf 文件中添加以下内容,将所有非安全(HTTP)请求重定向到使用 HTTPS 连接的服务器上配置的任何站点

阅读更多

主域 - 添加或者移除 www

你的网站可能有多个域名访问,比如:www.wulicode.comwulicode.com 等,设置主域意思是不管用户输入哪个域名,都会 301 重定向到主域上,设置主域可以对 SEO 更友好,比如:

阅读更多

proxy_pass url 反向代理

说到 Nginx 就不得不说 Nginx 的反向代理是多么的好用,一个指令 proxy_pass 搞定反向代理,对于接口代理、负载均衡很是实用,但 proxy_pass 指令后面的参数很有讲究。
网上有很多什么绝对路径、相对路径的说法,其实在实际的应用中就分为两种情况:

阅读更多