operation day3

今日内容:nginx调度器、nginx优化

一、nginx反向代理

1.环境准备:proxy:192.168.99.5 192.168.88.5 web1 192.168.99.100 web2 192.168.99.200

2.nginx反向代理:第七层代理,代理http

3.部署

1)web集群部署httpd

yum -y install httpd
echo web1 > /var/www/html/index.html
echo web2 > /var/www/html/index.html
systemctl start httpd

2)配置proxy

vim conf/nginx.conf
http{
    upstream webs {
        server 192.168.99.100:80;
        server 192.168.99.200:80;
    }
    server {
        ...
        location / {
            proxy_pass http://webs;
        }
    }
}
​
sbin/nginx -s reload
​
使用curl 192.168.99.5访问会出现轮询

3.反向代理集群池的属性

1)健康检查

upstream webs {
    server 192.168.99.100:80 max_fails=2 fail_timeout=30;
    server 192.168.99.100:80;
}
#关闭web1,此时转向web2提供服务,立即打开web1也不行,因为要等

2)权重

upstream webs {
        server 192.168.99.100:80 weight=2;
        server 192.168.99.200:80;
    }

3)相同客户端访问相同服务器

upstream webs {
        ip_hash;
        server 192.168.99.100:80;
        server 192.168.99.200:80;
    }
    适用于公司规模较小的

4)暂时将服务器不参加集群活动

upstream webs {
        server 192.168.99.100:80 down;
        server 192.168.99.200:80;
    }

二、nginx的tcp与udp调度器

1.第四层代理

2.配置,安装nginx的时候装--with-stream

3.配置

1)安装nginx

killall nginx
rm -rf /usr/local/nginx
​
cd ~/lnmp_soft/nginx-1.22.1
./configure --with-stream && make make && install
​
cd /usr/local/nginx

2)更改配置

vim conf/ngnix.conf
stream {
    upstream backend {
        server 192.168.99.100:22;
        server 192.168.99.200:22;
    }
    server {
        listen 12345;
        proxy_pass backend;
    }
}

3)访问:curl 192.168.99.5 -p 12345

三、nginx常见问题的处理

1.常见的错误码处理

1)常见的错误

200 正常 301 永久重定向 302 临时重定向 400 请求语法错误 401 认证错误 403 请求被拒绝 404 请求资源不存在 414 请求uri太长

500 服务器内部错误 501 代理服务器无法获取下一服务器的正常应答

2)更改错误显示内容

vim conf/nginx.conf
error_page 404 /error.html
echo error > html/error.html

sbin/nginx -s reload

客户端访问192.168.99.5:test(不存在)显示error

2.查看服务器状态

1)安装nginx时安装--with-http_stub_status_module

cd ~/lnmp_soft/nginx-1.22.1
./configure --with-http_stub_status_module
make && make install
cd /usr/local/nginx

2)配置

vim conf/nginx.conf
http{
...
	location /status {
		stub_status on;
	}
}

3)访问192.168.99.5/status

active connections :当前连接数量

server accepts handlers requires

reading writing waiting

3.更改服务器的并发量

1)ab访问

yum -y install httpd-tools
ab -c2000 -n2000 http://192.168.99.5/ #失败

2)配置

ulimit -n #查看当前的并发量

vim conf/nginx.conf
worker_prosses 2;
worker_connections 5000;

sbin/nginx -s reload

ulimit -n 100000 # 临时设置服务器的最大并发量

vim /etc/security/limits.conf
  *      soft     nofile   10000
  *      hard     nofile   10000
用户/组 软硬件限制 限制的项目 限制的数目

3)访问

4.请求头太长无法访问

1)运行脚本生成超长url

vim buffer.sh
url=http://192.168.99.5/index.html?
for i in {1..5000}
do
	url=${url}v$i=$i
done
curl $url

chmod +x buffer.sh # 显示414

2)配置

vim conf/nginx.conf
http{
	client_header_buffer_size 200K; # 默认时1k
	large_client_head_buffers 4 200K;
}

sbin/nginx -s reload

5.处理客户端缓存数据

1)使用浏览器访问about:catch

2)修改配置文件

vim conf/nginx.conf
server {
	...
}
location ~* \.(jpg|mp3|xml) {
	expires 30d;
}
sbin/nginx -s reload

3)浏览器访问查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值