进阶
负载均衡
正向代理是代理用户,反向代理是代理服务器
负载均衡
将请求分发到多个服务器上

负载

down、backup、max_fails、fail_timeout

反向代理
proxy_pass url
url为http访问地址

动静分离
https://www.cnblogs.com/ovim/p/13196540.html
出现原因 为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低单个服务器的压力
名词解释
所谓动静分离指的是当访问静态资源时,路由到一台静态资源服务器,当访问是非静态资源时,路由到另外一台服务器
简单配置实现
修改 server 块
server 块配置参考,配置规则可自行修改,符合正则语法即可
location ~ .*\.(js|css|png|jpg|jpeg|gif)?$ {
#proxy_pass http://server_ip:port; # 本行配置是将静态资源路由到另一台服务器,与下一行配置二选一
root /wwwroot/default/static/; # 本行配置是将静态资源路由到本服务器的其他文件夹,与上一行配置二选一
}

热备

轮询
加权轮询
ip_hash
限流
日志统计
统计nginx日志里访问次数最多的前十个IP
awk '{print $1}' access.log | sort | uniq -c | sort -nr -k1 | head -n 10
awk '{print $1}' access.log | sort | uniq -c | sort -n -k 1 -r | head -n 10
配置SSL
前提条件
- 购买服务器的服务商开启443端口和服务器已开启443端口(https的默认端口)
- nginx容器已经安装
http_ssl_module模块(启用SSL功能) - 下面的教程基于一个开源的dockerfile仓库
ssl证书上传至服务器
上传目录:
../../services/nginx/certs/
yml文件配置更改
ports:
# 增加443端口
- "443:443"
volumes:
# 增加SSL证书目录挂载
- ../../services/nginx/certs:/etc/nginx/certs:cached
nginx配置文件更改
default.conf参考
server {
listen 443;
server_name localhost;
root /wwwroot/default/;
index index.php index.html index.htm;
ssl on;
ssl_certificate certs/cert.pem;
ssl_certificate_key certs/cert.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
…………other config
}
注意事项:
ssl_certificate certs/cert.pem;ssl_certificate_key certs/cert.key;这两项填写的证书路径必须是相对路径(相对于/etc/nginx/的路径)