还是 首先上概念:
nginx 是高性能的http和反向代理的web服务器 也提供了 IMAP/POP3/SMTP等服务 特别是 占有内存少 并发能力强 性能是其最重要的考量 资料为最高五万并发数
支持热部署 稳定 可靠
反向代理:三个角色 真实服务器 代理服务器 客户端 正向代理是客户端通过配置代理服务器访问真实服务器 反向代理:是真实服务器将客户端请求通过反向代理服务器进行获取 直白的说就是谁设置的代理服务器就是正向和反向的区别
***负载均衡***客户端首先到反向代理服务器 然后反向代理服务器将请求转发到 多个真实服务器 例如 15个请求 被反向负载服务器均匀的分发到三台服务器上 这个过程叫做负载均衡
***动静分离***为了快网站的解析速度可以把静态页面也动态页面由不同的服务器来解析 加快解析速度降低原来单个服务器压力
高可用
配置介绍:
单机版
如果要复用该部分代码 需要手动删除注释内容
server {
listen 8088; //客户端访问的端口
server_name localhost; //客户端访问的ip
location / {
root html;
index index.html index.htm;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:8080; //真实服务器的ip:端口
proxy_redirect off;
}
}
负载版本:(权重版 , 轮询版本不用配置weight属性 )
如果要复用该部分代码 需要手动删除注释内容
upstream 192.168.3.41{
server 192.168.3.42:80 weight=1;
server 192.168.3.43:80 weight=1;
}// 真实服务器组 weight 属性是权重的分布
server {
listen 80;
server_name 192.168.3.41;
charset utf8;
client_max_body_size 50m;
client_body_buffer_size 256k;
location / {
proxy_pass http://192.168.3.41;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}
}
2021年6月3日 11:20:16
补充问题
今天遇到了需求是将 80端口强制转到443端口 即:http转https
记录如下内容
1 Windows 下nginx版本1.10.5 使用 nginx.exe -s quit 和 nginx.exe -s stop 不能生效 就是说 不能用命令停止服务
2 配置内容样例如下
server {
listen 80;
server_name www.域名.com; //匹配访问的域名
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {
listen 443;
server_name www.域名.com;
ssl_certificate server.crt;// 该文件放到conf文件夹下 这样写就可以 绝对路径报错emmm
ssl_certificate_key server.key;//同上
....
}
如上写法 就可以保证http访问的请求自动转移到https 去访问