OpenResty 是基于 Nginx 之上的一个高性能 Web 平台,它包含了大量精心挑选的三方模块,组成了一个完整的增强版 Nginx。OpenResty 能够让开发者使用 Lua 脚本来扩展 Nginx 功能,使其轻松地支持许多动态功能,比如负载均衡、内存缓存等。
Nginx 是一款轻量级的 Web 服务器,具有很好的性能和资源占用率。它的特点是高性能、低资源占用、高并发。Nginx 可以用来作为反向代理服务器,负载均衡服务器以及 HTTP 缓存服务器。
总的来说,Nginx 是一款高性能的 Web 服务器,而 OpenResty 则是在 Nginx 之上添加了大量功能和模块,提供了一个完整的 Web 平台,支持使用 Lua 脚本来扩展 Nginx 的功能。
安装openresty 添加软件源 新增/etc/yum.repos.d/openresty.repo [openresty] name=Official OpenResty Open Source Repository for CentOS baseurl=https://openresty.org/package/centos/$releasever/$basearch skip_if_unavailable=False gpgcheck=1 repo_gpgcheck=0 gpgkey=https://openresty.org/package/pubkey.gpg enabled=1 enabled_metadata=1
安装依赖 yum -y install pcre-devel openssl-devel gcc curl 安装openresty yum -y install openresty
openresty 日志设置
-
log_format
指令定义了日志的格式。 -
access_log
指令指定了访问日志的路径和使用的日志格式。
http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log warn; }stream
模块不支持 HTTP 相关的变量。
stream {
log_format stream_main '$remote_addr - [$time_local] $status $bytes_sent $bytes_received $session_time';
server {
listen 9504;
proxy_pass 192.2.110.21:9504;
access_log /openresty/nginx/logs/stream_9504.log stream_main;
}
随记:
HTTP 模块常用日志变量
变量名称 | 描述 |
---|---|
$remote_addr |
客户端 IP 地址 |
$remote_port |
客户端端口号 |
$remote_user |
Basic 认证的用户名 |
$request |
完整的原始请求行 |
$request_method |
请求方法(如 GET 、POST ) |
$request_uri |
完整的原始请求 URI(包括参数) |
$args |
请求行中的参数 |
$status |
响应状态码 |
$body_bytes_sent |
发送到客户端的字节数(不包括响应头) |
$bytes_sent |
发送给客户端的总字节数 |
$http_referer |
请求头中的 Referer 字段 |
$http_user_agent |
请求头中的 User-Agent 字段 |
$http_x_forwarded_for |
客户端的真实 IP 地址(通过代理传递) |
$upstream_addr |
上游服务器的 IP 地址和端口 |
$upstream_response_time |
从上游服务器接收响应的时间 |
$request_time |
请求处理时间(从读取第一个字节到发送完响应的时间) |
$time_local |
本地时间(通用日志格式) |
$time_iso8601 |
本地时间(ISO 8601 格式) |
Stream 模块常用日志变量
变量名称 | 描述 |
---|---|
$remote_addr |
客户端 IP 地址 |
$remote_port |
客户端端口号 |
$server_addr |
接受连接的服务器地址 |
$server_port |
接受连接的服务器端口 |
$bytes_sent |
发送给客户端的字节数 |
$bytes_received |
从客户端接收的字节数 |
$session_time |
会话持续时间 |
$time_local |
本地时间(通用日志格式) |
$time_iso8601 |
本地时间(ISO 8601 格式) |
$ssl_cipher |
SSL 连接使用的加密算法名称 |
$ssl_protocol |
SSL 连接的协议版本 |
$ssl_client_verify |
客户端证书验证结果 |