Nginx 简介
# Nginx 简介
Nginx (opens new window) 是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。该软件由俄罗斯的程序设计师伊戈尔·赛索耶夫( Igor Sysoev)开发,并于2004年首次公开发布。2011年成立同名公司以提供支持服务。2019年3月11日,Nginx公司被F5网络公司以6.7亿美元收购。
Nginx是免费的开源软件,根据类BSD许可证的条款发布。Nginx的性能很强,官方测试 Nginx 能够支支撑 5 万并发链接,并且 CPU、内存等资源消耗却非常低,运行非常稳定。更多参见官方文档 (opens new window)。
# 应用场景
- HTTP 服务器:Nginx 是一个 HTTP 服务可以独立提供 HTTP 服务,可以做静态网页服务器。
- 虚拟主机:可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟主机。
- 反向代理,负载均衡:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 Nginx 做反向代理。并且多台服务器可以均分担负载,不会出现某台服务器负载过高宕机而某台服务器闲置的情况。
# 安装 Nginx
使用Docker安装和运行Nginx,docker-compose.yml
配置如下,最新的安装说明可以参考Docker Hub 的文档 (opens new window):
version: '3.1'
services:
nginx:
restart: always
image: nginx:1.21.4
container_name: nginx
ports:
- 81:80
volumes:
- ./conf/nginx.conf:/etc/nginx/nginx.conf # 注意这里是挂载了一个文件,看下文处理
- ./conf.d:/etc/nginx/conf.d # 本地配置文件夹,可以将 http 的 server 配置扔在这里
- ./wwwroot:/usr/share/nginx/wwwroot # www服务根地址
注意docker不能挂载文件,只能挂载文件夹,所以可以先不挂载数据卷,启动容器然后复制一份配置文件出来:
docker cp nginx:/etc/nginx/nginx.conf /usr/local/docker/nginx/conf/
提示
nginx的版本建议选择 1.11.3 以上的版本,否则可能还要 额外处理 Nginx 的惊群问题(可以理解浪费资源)。
# Nginx配置文件
Nginx通过一个配置文件nginx.conf
进行配置,它的配置文件结构为如下,每一个server就是一个虚拟主机的配置。
# ... service config
events {
# ...
}
http {
# ...
server{
# ...
}
# ...
server{
# ...
}
}
上次更新: 5/31/2023, 1:14:42 AM