
Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持高达 5w 个并发连接数,最重要的是, Nginx 是免费的并可以商业化,配置使用也比较简单。
Nginx特点:
- 高并发、高性能;
- 模块化架构使得它的扩展性非常好;
- 异步非阻塞的事件驱动模型这点和 Node.js 相似;
- 相对于其它服务器来说它可以连续几个月甚至更长而不需要重启服务器使得它具有高可靠性;
- 热部署、平滑升级;
- 完全开源,生态繁荣;
更多内容查看这篇:《》
一、配置(nginx.conf)
nginx.conf 配置文件的语法规则:
- 配置文件由
指令
与指令块
构成; - 每条指令以
;
分号结尾,指令与参数间以空格符号分隔; - 指令块以
{}
大括号将多条指令组织在一起; include
语句允许组合多个配置文件以提升可维护性;- 通过
#
符号添加注释,提高可读性; - 通过
$
符号使用变量; - 部分指令的参数支持正则表达式,例如常用的 location 指令.
Nginx 的典型配置示例:
-
main 全局配置,对全局生效;
-
events 配置影响 Nginx 服务器与用户的网络连接;
-
http 配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置;
-
server 配置虚拟主机的相关参数,一个 http 块中可以有多个 server 块;
-
location 用于配置匹配的 uri ;
-
upstream 配置后端服务器具体地址,负载均衡配置不可或缺的部分;
#1. main段配置信息
user nginx; #运行用户,默认即是nginx,可以不进行设置
worker_processes auto; #Nginx 进程数,一般设置为和 CPU 核数一样
error_log /var/log/nginx/error.log warn; #Nginx 的错误日志存放