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)









