Nginx代理服务器 、 Nginx优化、ab工具
集群要求
- 虚拟机1:A ip 192.168.2.5 192.168.4.5 主机名 proxy - 虚拟机2:B ip 192.168.2.100 主机名 web1 - 虚拟机3:C ip 192.168.2.200 主机名 web2
改名:
hostnamectl set-hostname web1 hostnamectl set-hostname web2
web1 web2 安装httpd
#gzip on; upstream webserver { server 192.168.2.100:80; server 192.168.2.200:80; } server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://webserver; root html; index index.html index.htm; }
nginx自动检测后台服务器是否正常
轮询默认你一次我一次 ;认为设置优先级
upstream webserver { server 192.168.2.100:80 weight=1; server 192.168.2.200:80 weight=2; }
服务器访问失败的次数 max_fails 最大访问失败次数,列为不可用状态 fail_timeout 到达最大访问失败次数后隔20s再访问
upstream webserver { server 192.168.2.100:80 weight=1 max_fails=2 fail_timeout=20; server 192.168.2.200:80 weight=1 max_fails=2 fail_timeout=20; }
down 暂时不用
upstream webserver { server 192.168.2.100:80 weight=1 max_fails=2 fail_timeout=20; server 192.168.2.200:80 weight=1 max_fails=2 fail_timeout=20; server 192.168.2.10 down; }
ip_hash 相同客户端访问相同服务器
upstream webserver { ip_hash; server 192.168.2.100:80 weight=1 max_fails=2 fail_timeout=20; server 192.168.2.200:80 weight=1 max_fails=2 fail_timeout=20; server 192.168.2.10 down; }
./configure –with-stream
./configure --with-stream --with-http_stub_status_module
配置nginx 实现四层代理 ssh服务
stream { upstream backend { server 192.168.2.100:22; server 192.168.2.100:22; } server { listen 12345; proxy_pass backend; } } http { include mime.types; default_type application/octet-stream;
本机连接ssh
ssh 192.168.4.5 -p 12345 rm -rf ~/.ssh/known_hosts
xshell 连接ssh
ssh 192.168.4.5 12345
nginx 设置拒绝访问
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { deny 192.168.2.100; root html; index index.html index.htm; }
如何查看服务器状态信息 非常重要
location /status{ stub_status on; #allow Ip地址 #deny }
Active connections: 1 # 并发访问 server accepts handled requests 7 7 33 Reading: 0 Writing: 1 Waiting: 0
Nginx优化
高并发修改
修改nginx的并发数量
worker_processes 1; # cpu几核改成几 进程数 #user nobody; worker_processes 2; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { # 连接数 worker_connections 65535; }
修改linux系统的能够处理的文件数量
临时修改
ulimit -Hn #访问文件数量的硬件设置,不能超 ulimit -Sn #访问文件数量的软件设置 可以超 [root@proxy nginx]# ulimit -Hn 100000 [root@proxy nginx]# ulimit -Sn 100000
永久修改 /etc/security/limits.conf
* hard nofile 100000 * soft nofile 100000 用户或组 硬限制或软限制 需要限制的项目 限制的值
优化地址栏长度 防止414错误
client_header_buffer_size 1k;
http { include mime.types; default_type application/octet-stream; # 请求头长度给1K 如果不够,再分4个4K的给你 client_header_buffer_size 1k; large_client_header_buffers 4 4k; client_header_buffer_size 100k; large_client_header_buffers 4 1000k;
缓存优化
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ { expires 30d; }
firefox 查看缓存
about:cache
ab工具
yum -y install httpd-tools 10个人访问10次 也就是1个人访问一次 ab -c 10 -n 10 http://192.168.2.5/
点赞(3)
评论留言