Nginx高性能Web服务器详解
- 3. 常用指令
- 4. Nginx配置文件
- 5. Nginx Gzip压缩
- 6. Nginx 的Rewrite功能
- 7. Nginx的代理服务
- 8. Nginx的缓存机制
- 9. Nginx的邮件服务
- 10. Nginx源码结构
- 11. Nginx基本数据结构
- 12. Nginx的启动初始化
- 13. Nginx的时间管理
- 14. Nginx的内存管理
- 15. Nginx的模块编程
- 16. Nginx的内置变量
- 17. 正则表达式语法
ISBN: 978-7-121-21518-6
作者:苗泽
页数: 300页
阅读时间: 2021-04-23
推荐指数: ★★★★★
十分推荐关于Nginx入门到实践的一本书,
不仅讲解了大量的原理性的知识点,
而且也手把手实践,
然后再到最后的源码分析,
值得推荐。
1. 什么是Nginx
Nginx
(engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
1.1 优点
- 负载均衡
- 反向代理
- 快速响应静态页面
- 缓存机制
- 支持HTTPS
- 邮件代理服务
1.2 缺点
- 不支持动态页面
2. Nginx负载均衡策略
2.1 轮询策略
依次进行轮询访问
2.2 加权轮询策略
根据权重,越大的权重轮询的概率越大。
2.3 IP hash策略
根据客户端ip进行hash,然后代理到对应服务器。
3. 常用指令
# 指定配置文件启动nginx
nginx -c /etc/nginx/nginx.conf
# 检测配置文件是否正确
nginx -t
# 停止nginx
nginx -s stop
# 重启nginx
nginx -s reload
4. Nginx配置文件
user nginx; # 使用nginx用户启动
worker_processes auto; # 工作线程数,auto是核心数,主线程是1个,在加上这个数量就是所有nginx线程数
error_log /var/log/nginx/error.log; # 错误日志保存路径
pid /var/run/nginx.pid;# pid位置
include /usr/share/nginx/modules/*.conf; # 导入其他配置
events {
worker_connections 1024; # 单个连接最大数
}
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;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# 导入其他配置
include /etc/nginx/conf.d/*.conf;
}
5. Nginx Gzip压缩
6. Nginx 的Rewrite功能
7. Nginx的代理服务
8. Nginx的缓存机制
9. Nginx的邮件服务
10. Nginx源码结构
11. Nginx基本数据结构
12. Nginx的启动初始化
13. Nginx的时间管理
14. Nginx的内存管理
15. Nginx的模块编程
16. Nginx的内置变量
17. 正则表达式语法