Nginx常用配置

  1. 基础配置
user  root;
worker_processes  8;
# 固定CPU使用位置,禁止自动切换浪费性能
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
error_log  /data/log/nginx/error.log;
pid        /data/log/nginx/nginx.pid;

events {
       worker_connections  1024;
       use epoll;
}

http {
      include      mime.types;
      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  /data/log/nginx/access.log  main;
      sendfile        on;
      tcp_nopush    on;
      # 请求超时时间,单位:秒
      keepalive_timeout  65;
      # 请求体大小限制,最大可上传文件大小
      client_max_body_size 100m;  
      # 启用gzip压缩
      gzip  on;
      gzip_min_length  5k;
      gzip_buffers    4 16k;
      gzip_http_version 1.0;
      gzip_comp_level 3;
      gzip_types    text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
      gzip_vary on;
      # 禁止直接用ip访问
      server {
           listen 80 default;
           server_name _;
           return 404;
      }
      # 每个项目使用自己的配置文件,加载/etc/nginx/目录下的所有.conf文件,.conf文件中只包含2↓或3↓的内容即可
      include /etc/nginx/*.conf;
}
  1. 反向代理配置
server {
            listen      80;
            server_name  yourdomain;
            # 监控nginx运行状态
            location  /nginx_status {
                    stub_status on;
                    access_log off;
             }
            location / {
                    proxy_pass http://tomcatServer/;
                    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;
           }
           # 这里使用root配置 如果访问 192.168.1.1/test/a.html  则对应的路径为:/usr/local/test/a.html
           location /test/ {
                root  /usr/local/ ;
           }
          # 这里使用alias配置 如果访问 192.168.1.1/test/a.html  则对应的路径为:/usr/local/a.html
           location /test/ {
                alias  /usr/local/ ;
          }
}

upstream  tomcatServer{
       server 127.0.0.1:8082;
       server backup-ip:8082 backup;
 }
  1. 静态资源配置
server {
            listen      80;
            server_name  yourdomain;
            #配置Nginx动静分离,静态资源直接从静态资源目录获取
            location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$  { 
                    root  /data/static-resource/;
                    #expires定义用户浏览器缓存的时间为7天
                    expires      7d; 
             } 
            # 这里使用root配置,如果访问 192.168.1.1/test/a.html  则对应的路径为:/data/images/images/a.html
            location /images/ {
                  root  /data/images/ ;
            }
            # 这里使用alias配置,如果访问 192.168.1.1/test/a.html  则对应的路径为:/data/images/a.html,相对来说这种更好
            location /images/ {
                  alias  /data/images/ ;
            }
}

你可能感兴趣的:(Nginx常用配置)