前面我们对nginx负载均衡的安装进行了详细的介绍,想必大家应经把系统平台配置好了。那么接下来就是nginx负载均衡的配置讲解了。在这里,我们要强调一下在配置中要注意进程的连接数和事件问题。
nginx负载均衡配置
conf/nginx.conf文件:
- user www www; # 工作进程的宿主
- worker_processes 8; # 工作进程数,一般跟CPU核数目相同
- #error_log logs/error.log; debug 模式
- error_log logs/error.log notice;
- #error_log logs/error.log info;
- pid logs/nginx.pid;
- gzip on; #打开gzip模式
- gzip_camp_level 5; #压缩级别 1-9 ,1 最快,9最慢
- gzip_min_length 1100;
- gzip_buffers 4 8 k;
- worker_rlimit_nofile 51200;
- events {
- use epoll; # Linux下性能***的event
- worker_connections 51200; #每个进程允许***的连接数}
- #access_log logs/access.log main; #日志文件名
- upstream tomcat{
- server 192.168.0.119:5050 down;
- server 192.168.0.117:5050 weight=1;
- server 192.168.0.142:5050 weight=1;}
- include /usr/local/nginx/conf/proxy.conf;
- location / {
- root html;
- index index.html index.htm;
- proxy_pass http://tomcat;}
- location /NginxStatus {
- stub_status on;
- access_log off;
- allow all;
- #auth_basic "status";
- #auth_basic_user_file conf/htpasswd;}
- # 静态文件和图片服务器时使用
- location ~ ^/images/{
- root /opt/webapp/images;}
- location ~ \.(htm|html|gif|jpg|jpeg|png|bmp|ico|css|js|txt)${
- root /opt/webapp;
- access_log off;
- expires 24h;}
- expires 60s;#30m 24h 1d max off
- location / {
- proxy_pass http://localhost:8080;
- proxy_set_header X-Real-IP $remote_addr;}
- location / {
- proxy_pass http://tomcat;
- proxy_set_header X-Real-IP $remote_addr;}
- #Nginx使用最简单的平均分配规则给集群的节点,达到负载均衡。若一个失效,或重新起效时,Nginx会自己处理状态的变化。
#p#proxy.conf 文件
- #!nginx (-)
- # proxy.conf
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- client_max_body_size 10m;
- client_body_buffer_size 128k;
- proxy_connect_timeout 90;
- proxy_send_timeout 90;
- proxy_read_timeout 90;
- proxy_buffers 32 4k;
- #sbin/nginx -t
- #ulimit -SHn 51200
- #sbin/nginx
- #kill -HUP 'cat /usr/local/nginx/logs/nginx.pid'
- #重新加载新的配置文件
监控:http://localhost/NginxStatus active connections :当前正在处理的活动连接数。server accepts handled requests:总共处理的n个连接,成功创建n次握手(证明中间没有失败的),总共处理了n个请求。
reading: 读取到客户端的Header信息数。
writing: 返回给客户端的Header信息数。
waiting: 开启keep-alive 情况下,该值等于active -(reading+writing),nginx已经在处理完成正在等候下一次请求指令的驻留连接。
nginx负载均衡总结:
一般可以对nginx的 worker_processes和worker_connections 进行调整,来达到性能的调优。