`

Nginx并发访问优化

 
阅读更多

Nginx反向代理并发能力的强弱,直接影响到系统的稳定性。安装Nginx过程,默认配置并不涉及到过多的并发参数,作为产品运行,不得不考虑这些因素。Nginx作为产品运行,官方建议部署到Linux64位系统,基于该建议,本文中从系统线之上考虑Nginx的并发优化。

 

1、打开Linux系统epoll支持

         epoll支持,能够大大提高系统网络IO的并发数。

 

2、Linux文件句柄数限制

         Nginx代理过程,将业务服务器请求数据缓存到本地文件,再将文件数据转发给请求客户端。高并发的客户端请求,必然要求服务器文件句柄的并发打开限制。

         使用ulimit命令,查看linux系统文件句柄并发限制。

         $ ulimit -n

          1024

     linux系统默认设为1024,我们需要将该值设为65535。

         修改系统文件/etc/security/limits.conf,添加如下信息,并重新启动系统生效。

         *               soft    nofile            65535
         *               hard    nofile            65535

        $ vi /etc/security/limits.conf

参考:http://shiguanghui.iteye.com/admin/blogs/2201284

     

3、Nginx配置文件中,添加文件限制及连接数信息

    worker_rlimit_nofile 65535;
    events {
        use epoll;
        worker_connections  65535;
    }

    Nginx并发数受限,通常引起502错误,完成上述操作,通常情况都能解决。

 

 

----------------------------------------------------------------------------------

简介配置及优化:
1 nginx.conf 配置文件:

user    www www;
worker_processes 4;

# [ debug | info | notice | warn | error | crit ]
error_log    /usr/local/webserver/nginx/logs/nginx_error.log    crit;
pid                /usr/local/webserver/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
         use epoll;
         worker_connections 51200;
}

http
{
         include             mime.types;
         default_type    application/octet-stream;
         source_charset GB2312;
         server_names_hash_bucket_size 256;
         client_header_buffer_size 256k;
         large_client_header_buffers 4 256k;

         #size limits
         client_max_body_size             50m;
         client_body_buffer_size        256k;
         client_header_timeout     3m;
         client_body_timeout 3m;
         send_timeout             3m;
#参数都有所调整.目的是解决代理过程中出现的一些502 499错误     
         sendfile on;
         tcp_nopush         on;
         keepalive_timeout 120; #参数加大,以解决做代理时502错误
         tcp_nodelay on;
        
         include                    vhosts/upstream.conf;
         include                    vhosts/bbs.linuxtone.conf; 

}



2 upstream.conf 配置文件(这也是做负载的配置方法)

upstream.conf
            upstream bbs.linuxtone.com {
                 server 192.168.1.4:8099;
             }



3 站点配置文件

bbs.linuxtone.conf
server
     {
            listen             80;
            server_name    bbs.linuxtone.conf;
            charset GB2312;
            index index.html index.htm;
            root    /date/wwwroot/linuxtone/;

                location ~ ^/NginxStatus/ {
                        stub_status on;
                        access_log off;
                 }

         location / {
             root    /date/wwwroot/linuxtone/;
             proxy_redirect off ;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             client_max_body_size 50m;
             client_body_buffer_size 256k;
             proxy_connect_timeout 30;
             proxy_send_timeout 30;
             proxy_read_timeout 60;
             proxy_buffer_size 256k;
             proxy_buffers 4 256k;
             proxy_busy_buffers_size 256k;
             proxy_temp_file_write_size 256k;
             proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
             proxy_max_temp_file_size 128m;
             proxy_pass    http://bbs.linuxtone.com;
            }



#参数都有所调整.目的是解决代理过程中出现的一些502 499错误    

#Add expires header for static content
     location ~* \.(jpg|jpeg|gif|png|swf)$ {
         if (-f $request_filename) {
             root /date/wwwroot/linuxtone/;
             expires            1d;
             break;
            }
     }

         log_format    access    '$remote_addr - $remote_user [$time_local] "$request" '
                                                 '$status $body_bytes_sent "$http_referer" '
                                                 '"$http_user_agent" $http_x_forwarded_for';
        access_log    /exp/nginxlogs/bbs.linuxtone_access.log    access;
    
}

 

分享到:
评论

相关推荐

    如何优化nginx并发访问量.doc

    Nginx 并发访问量优化 Nginx 是一个流行的 Web 服务器软件,本文将介绍如何优化 Nginx 的并发访问量,以提高服务器的处理能力和响应速度。 并发访问量的重要性 在现代网络环境中,高并发访问量是 Web 应用程序的...

    优化nginx大并发——轻松应对上万并发访问

    本文将详细探讨如何通过系统层面和Nginx配置层面的优化,使Nginx能够轻松应对上万甚至十万级别的并发访问。 首先,从系统层面进行优化: 1. **调整同时打开文件数量**:使用`ulimit -n`命令设置系统最大文件描述符...

    nginx优化详细优化参数

    2. **性能优化**:侧重于提升用户的访问体验,通过调整配置参数,让Nginx能够更高效地处理请求,降低服务器负载。 #### 二、Nginx安全优化 ##### 2.1 隐藏Nginx版本信息优化 隐藏Nginx版本信息是一种常见的安全措施...

    nginx配置优化+负载均衡+动静分离详解.zip_nginx_nginx 负载_优化_优化配置_负载均衡

    通过深入理解和实践这些Nginx的配置优化、负载均衡和动静分离技术,你可以构建一个高效、稳定且可扩展的Web服务环境,有效应对高并发访问,提升用户体验。"nginx配置优化+负载均衡+动静分离详解.txt"这个文件应该...

    Nginx生产环境优化

    针对"Nginx生产环境优化"这一主题,我们主要关注如何提升其处理高并发能力,达到10万并发的目标。以下是一些关键的优化策略和知识点: 1. **配置优化**: - **并发连接数**:修改`worker_connections`参数,增加...

    nginx视频教程-nginx单机1W并发优化-反向代理实现nginx+apache动静分离

    21-nginx单机1W并发优化.wmv 88.6MB 20-ab压力测试及nginx性能统计模块.wmv 47.6MB 19-大访问量优化整体思路.wmv 51.1MB 18-第3方模块编译及一致性哈希应用.wmv 133.4MB 17-nginx连接memcached.wmv 78.7MB 16-...

    加餐3百万并发下Nginx的优化之道1

    在面对百万级别的并发访问时,Nginx的性能优化显得尤为重要。本文将深入探讨Nginx在处理高并发时的优化策略,包括内存使用、协议处理、压缩技术以及提高响应速度等方面。 首先,优化内存使用是提高并发能力的关键。...

    企业级Nginx Web服务优化实战.docx

    在企业环境中,Nginx作为一款高效、轻量级的Web服务器,常用于处理高并发的网络请求。然而,为了保证系统的安全性,针对Nginx进行适当的优化至关重要。其中,隐藏Nginx的软件版本号信息是基础的安全优化措施之一。 ...

    浅谈Nginx10m+高并发内核优化详解

    本篇文章将探讨如何对Nginx进行高并发内核优化,以提高其在大规模并发情况下的处理能力。 首先,我们需要理解什么是高并发。高并发是指在同一时间有大量用户同时访问系统,这在互联网服务中非常常见。默认的Linux...

    详解nginx高并发场景下的优化

    尤其是对于使用广泛的Nginx服务器,正确地进行配置优化能够显著提高其处理高并发请求的能力。以下是对Nginx高并发优化的详细解读,这些优化主要涉及配置文件中的关键设置项。 首先,Nginx的进程数设置至关重要。...

    Nginx.conf配置安全优化

    相比之下,Nginx 是异步服务器,使用事件驱动程序模式,用户的并发请求通常只需要一个单一的或者几个线程,从而占用系统资源非常少。 Nginx.conf 配置文件 Nginx.conf 配置文件是 Nginx 服务器的核心配置文件,...

    信息技术_nginx双活+双向SSL认证+高并发+安全加固+会话共享+主被动健康探测

    本文详细介绍了如何通过Nginx实现双活架构、双向SSL认证、高并发优化以及安全加固等关键技术点。通过以上步骤,不仅可以提高系统的可用性和安全性,还能显著提升用户体验。在实际部署过程中,还需要根据具体业务场景...

    nginx-1.18.0已开启gzip压缩优化vue项目大小.zip

    它的特点是并发性能高、稳定性好,并且支持多种功能,如负载均衡、缓存、访问控制等。在这个场景中,Nginx被用作部署Vue Element Admin项目的服务器。Vue Element Admin是一个基于Vue.js和Element UI的后台管理界面...

    nginx性能测试与优化1

    使用ab或wrk工具,可以设置并发用户数、请求次数等参数,对Nginx服务器进行压力测试,获取吞吐量、响应时间等指标,根据测试结果进行性能优化,如调整worker_processes、worker_connections、sendfile、tcp_nopush...

    nginx配置优化

    **Nginx配置优化**是提高Web服务器性能的关键步骤,特别是在处理高并发访问、静态资源分发和反向代理等场景下。Nginx以其轻量级、高性能和稳定性著称,通过合理的配置,可以有效地减少响应时间,提高系统整体效率。 ...

    高流量站点NGINX与PHP的优化

    ### 高流量站点NGINX与PHP的优化 随着互联网技术的发展,越来越多的网站面临着高流量带来的挑战。为了确保网站的稳定性和响应速度,在高流量环境下优化NGINX与PHP-fpm配置至关重要。本文将详细介绍如何针对高流量...

    Nginx的基本配置与优化

    ### Nginx的基本配置与优化 ...通过以上配置和优化措施,可以有效地提升Nginx服务器的性能,使其更好地应对高并发访问需求。需要注意的是,在进行任何修改之前,请确保充分测试新的配置,以避免意外情况的发生。

    nginx1.18 nginx1.18 nginx1.18

    6. **缓存功能**:Nginx 可以缓存经常访问的静态资源,减少对服务器的请求,提高响应速度。 在 Nginx 1.18 版本中,可能会包含以下改进: - **性能提升**:每个新版本通常都会对性能进行优化,包括更快的响应时间...

    SpringCloud Nginx 高并发核心编程学习文档+整理代码

    此外,Nginx还可以实现访问控制、限流、熔断等高级功能,进一步优化系统性能。 文档中的"Spring Cloud、Nginx高并发核心编程@www.cmsblogs.cn.pdf"很可能是对SpringCloud和Nginx高并发解决方案的详细讲解,涵盖了...

    Nginx服务器限制访问速度的配置方法

    Nginx在配置文件中通过简洁的指令集提供了丰富的功能,其中就包括了限制访问速度的配置方法,这对于管理和优化网络流量尤为重要。 在Nginx中进行访问速度限制主要可以通过两个指令来实现:`limit_rate` 和 `limit_...

Global site tag (gtag.js) - Google Analytics