Nginx 基础配置 - 基础模块配置
Nginx 可以用于作为静态资源服务器,反向代理服务,以及,在微服务体系下,也可被作为网关来使用,配合 Lua 做限流、熔断等。我们平常通常使用它作为静态资源服务器或者 http 请求转发器,把静态文件的请求直接返回静态文件资源,把动态的请求转发给后台处理程序,如 tomcat 等。它具备如下的特点:
性能好,占用很少的系统资源,支持更多的并发连接
支持热部署
扩展性好、可靠性强
它是开源
现在看看如何玩起一个 nginx 配置。
环境搭建
本篇文章是基于 window 环境。
1.1 下载地址
1.2 基础命令
以下脚本命令均在 nginx 安装目录下执行,如:D:t\nginx-1.19.10
启动
停止
重新载入
当你启动 nginx 失败的时候,在 nginx 目录下的 logs 文件夹会产生对应的错误日志文件,可以前去查看错误日志 error.log
。若是 nginx 启动端口被占用了,可在配置文件nginx-1.19.10\conf\nginx.conf
修改应用启动的默认端口。
location
上面配置使用到了 root 和 alias,这两者的区别在于如下:
alias 只能处于 location 块中,而 root 则可以在 http/server/location/if 这些配置块
alias 是别名的意思,指定的是 URI 请求的具体路径,而 root 则是指定 URI 路径的上级目录
使用 alias 时,目录名后面一定要用“/”,否则可能找不到文件
gzip 压缩
知识点补充:
gzip 作用域有 http,server,location 等
二进制资源文件没必要开启压缩,因为压缩率低,比起 CPU 资源的消耗来得不划算
日志开启
补充下 nginx 变量都有哪些,方便后续配置,这些变量都存在与 nginx 的核心模块中。
$remote_addr:客户端 IP 地址
$remote_user:用于 HTTP 基础认证服务的用户名
$time_local:访问时间
$request:get 请求的 url 地址
$request_body:客户端的请求体
$status:请求状态码
$body_bytes_sent:请求页面大小(byte)
$http_referer:来源页面,请求头中的 referer
$http_user_agent:浏览器的信息,版本、类型等
当然还有更多的变量,这里就不一一列举了。
总结
前端要不要懂 nginx?负载均衡?这是个争议话题,但上面三个基本入门配置,已经能够了解到客户端发起请求到 nginx,在反向代理服务器能够干啥事情了。资源缓存配置、反向代理等配置,下期更新...
参考文献:
版权声明: 本文为 InfoQ 作者【梁龙先森】的原创文章。
原文链接:【http://xie.infoq.cn/article/28d4773b13b28249ce51b9719】。文章转载请联系作者。
评论