nginx.conf配置参考

本文详细介绍了Nginx服务器的配置方法,包括工作进程数量、错误日志设置、连接数限制等内容。此外还展示了如何配置动静分离以提高网站性能,并通过实例说明了如何将动态请求代理到后端应用服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    worker_processes  8;


    error_log /usr/local/nginx/logs/nginx_error.log crit;
    pid /usr/local/nginx/nginx.pid;


    worker_rlimit_nofile 65535;


    events {
         use epoll;
         worker_connections  65535;
    }
    http {
        include mime.types;
        default_type application/octet-stream;


         #charset gb2312;


         server_names_hash_bucket_size 128;  
         client_header_buffer_size 32k;  
         large_client_header_buffers 4 32k;  
         client_max_body_size 8m;


         sendfile        on;
         tcp_nopush     on;


         keepalive_timeout  60;


         tcp_nodelay on;  
 
         fastcgi_connect_timeout 300;  
         fastcgi_send_timeout 300;  
         fastcgi_read_timeout 300;  
         fastcgi_buffer_size 64k;  
         fastcgi_buffers 4 64k;  
         fastcgi_busy_buffers_size 128k;  
         fastcgi_temp_file_write_size 128k;  
 
         gzip on;  
         gzip_min_length  1k;  
         gzip_buffers     4 16k;  
         gzip_http_version 1.0;  
         gzip_comp_level 2;  
         gzip_types  text/plain application/x-javascript text/css application/xml;  
         gzip_vary on;  
 
         #limit_zone  crawler  $binary_remote_addr  10m;


        server {
            listen       80;
            server_name  www.nginxtest.com 192.168.121.102;
            index index.html index.htm index.jsp index.do;
            root /usr/local/nginx/html/myloan;
           #配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取。
            location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ 
             { 
                  root /usr/local/nginx/html/myloan; 
                  #expires定义用户浏览器缓存的时间为7天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力
                   expires      7d; 
               } 
          #所有jsp、do的动态请求都交给后面的tomcat处理 
          location ~ (\.jsp)|(\.do)$ 
         { 


              #tomcat地址
              proxy_pass http://192.168.121.102:8080;  
              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_buffer_size 4k;  
              proxy_buffers 4 32k;  
              proxy_busy_buffers_size 64k;  
              proxy_temp_file_write_size 64k;  
       }      
 
         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  /usr/local/nginx/logs/access.log  access;  
 
     }
     server  
      {  
          listen  80;  
          server_name  www.server.nginxtest.com;  
 
          location / {  
          stub_status on;  
           access_log   off;  
      }  
   }
}
### Linux 下 Nginx 的 `nginx.conf` 配置示例 以下是基于提供的参考资料以及标准实践的一个完整的 `nginx.conf` 示例配置: #### 基本结构 ```nginx user nginx; # 定义运行Nginx进程的用户[^1] worker_processes auto; # 自动调整工作线程数 error_log /var/log/nginx/error.log warn; pid /run/nginx.pid; events { worker_connections 1024; # 单个工作进程的最大连接数 } http { include /etc/nginx/mime.types; # MIME 类型定义文件路径 default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; # 日志格式定义 access_log /var/log/nginx/access.log main; sendfile on; # 开启高效传输模式 tcp_nopush on; # 减少网络延迟 keepalive_timeout 65; # 连接保持时间 server { listen 80; # 监听端口 server_name localhost; # 主机名或域名 location / { # 默认根目录设置 root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; # 错误页面处理 location = /50x.html { root /usr/share/nginx/html; } } # 负载均衡配置示例 upstream backend { server 192.168.1.1:8080 weight=5 max_fails=3 fail_timeout=30s; server 192.168.1.2:8080 backup; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; # 反向代理到上游服务器组 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } # SSL 加密配置示例 server { listen 443 ssl; server_name secure.example.com; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; location / { root /usr/share/nginx/ssl_html; index index.html; } } } ``` #### 关于模块化的 `.conf` 文件引用 为了实现更清晰的管理,可以通过在主配置文件中引入外部子配置文件来完成模块化设计。例如,在 `nginx.conf` 中添加以下内容以加载其他虚拟主机配置文件: ```nginx include /etc/nginx/conf.d/*.conf; # 引入指定目录下的所有 .conf 文件[^2] ``` 假设有一个名为 `node5.a.org.conf` 的配置文件位于 `/etc/nginx/conf.d/` 目录下,则其内容可能如下所示: ```nginx server { listen 80; server_name node5.a.org; location / { root /var/www/node5; index index.html index.php; } location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; include fastcgi_params; } } ``` ### 注意事项 上述配置仅为基础模板,实际应用中需根据具体需求进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值