nginx.conf配置

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {

    use epoll;
    worker_connections  65535;
    multi_accept on;    

}

http {

    ##
    # Basic Settings
    ##
    include /etc/nginx/mime.types;
    default_type application/octet-stream;  

    #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
    #sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime。    
    sendfile on;
    #此选项允许或禁止使用socke的TCP_CORK的选项,此选项仅在使用sendfile的时候使用,告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送。就是说数据包不会马上传送出去,等到数据包最大时,一次性的传输出去,这样有助于解决网络堵塞
    tcp_nopush on;
    #告诉nginx不要缓存数据,而是一段一段的发送--当需要及时发送数据时,就应该给应用设置这个属性,这样发送一小块数据信息时就不能立即得到返回值
    tcp_nodelay on;
    keepalive_timeout 120;
    types_hash_max_size 2048;
    server_tokens off; #错误页面的标签上是否表示Nginx的版本。

    server_names_hash_bucket_size 64;
    server_name_in_redirect off;


    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##
    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;
    error_log  /var/log/nginx/error.log notice;
    #access_log /var/log/nginx/access.log;
    #error_log /var/log/nginx/error.log;

    ##
    #防DDOS攻击
    ##
    ##触发条件,所有访问ip 限制每秒10个请求
    limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
    ##限制IP连接数
    limit_conn_zone $binary_remote_addr zone=addr:10m;

    ##
    # Gzip Settings
    ##

    gzip on;

    #gzip_vary on;
    #gzip_proxied any;
    #gzip_comp_level 6;
    #gzip_buffers 16 8k;
    #gzip_http_version 1.1;
    #gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    gzip_min_length  2k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    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;
    gzip_disable "MSIE [1-6].";

    ##
    # Virtual Host Configs
    ##

    #FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。
    #这个指令为FastCGI缓存指定一个路径,目录结构等级,关键字区域存储时间和非活动删除时间
    fastcgi_cache_path /etc/nginx/conf.d/fastcgi_cache levels=1:2
    keys_zone=TEST:10m inactive=5m;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffers 4 64k;
    fastcgi_buffer_size 128k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
    fastcgi_intercept_errors on;
    send_timeout 60;        


    real_ip_header X-Forwarded-For;
    real_ip_recursive on;
    proxy_headers_hash_max_size 512;

    client_header_buffer_size 4k;
    large_client_header_buffers 4 64k;

    client_body_buffer_size 10m;#设置为 10MB,这意味着 Nginx 会为每个请求分配 10MB 的内存来存储请求体。
    client_body_temp_path /mnt/webfiles/tmp/nginx-client-body 1 2; # 设置了临时文件的存储路径,并设置了子目录结构以避免文件名冲突。
    client_body_in_file_only on; #设置为 on,表示所有请求体内容都将被写入临时文件。
    client_max_body_size 500m;  #允许上传的最大请求体大小为 500m。


    include /etc/nginx/conf.d/*.conf;
    #include /etc/nginx/sites-enabled/*;
}

webman配置

upstream cc {
    server 127.0.0.1:8787;
    keepalive 10240;
}
#server {
#    listen 80;
#    server_name cc.zfox.top;
#    rewrite ^(.*)$ https://${server_name}$1 permanent; 
#}
server {
  server_name domain;

  listen      80;
  access_log off;
  root /webman/public;

    #listen       443 ssl; # 添加HTTPS支持
    #SSL配置
    #ssl_certificate      /usr/share/nginx/html/ccssl/cc.crt; # 配置证书
    #ssl_certificate_key  /usr/share/nginx/html/ccssl/cc_nopass.key; # 配置证书私钥
    #ssl_protocols        TLSv1 TLSv1.1 TLSv1.2; # 配置SSL协议版本
    #ssl_ciphers          ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # 配置SSL加密算法
    #ssl_prefer_server_ciphers  on; # 优先采取服务器算法
    #ssl_session_cache    shared:SSL:10m; # 配置共享会话缓存大小
    #ssl_session_timeout  10m; # 配置会话超时时  


  location ^~ / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_http_version 1.1;
      proxy_set_header Connection "";

      proxy_set_header Range $http_range;
      proxy_store off;
      proxy_temp_path /mnt/webfiles/tmp/nginx-proxy-temp 1 2;

      if (!-f $request_filename){
          proxy_pass http://cc;
      }
  }

  # 拒绝访问所有以 .php 结尾的文件
  location ~ \.php$ {
      return 404;
  }

  # 拒绝访问所有以 . 开头的文件或目录
  location ~ /\. {
      return 404;
  }
}

alist 设置

upstream pp{
    server 127.0.0.1:5244 ;
    #内部加入weight参数,则表示权重寻址:表示访问两次8002,访问一次8001。循环下去
    #server 192.168.10.21:8001 weight=1;
    #server 192.168.10.21:8002 weight=2; 
    #fail_timeout和slow_start。fail_timeout表示服务请求超过多长时间,就认为该服气宕机了,slow_start表示继续监控该服务多长时间,如果正常则认为服务已恢复正常。注意slow_start参数不能与 hash,ip_hash和随机 负载平衡方法一起使用
    #server 192.168.10.21:5244 fail_timeout=5s slow_start=30s;
}

server {
    listen 80;
    server_name domainname;    

    location / {

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Range $http_range;
        proxy_set_header If-Range $http_if_range;        

        proxy_redirect off;
        proxy_pass http://pp ;
        # 上传的最大文件尺寸
        client_max_body_size 30000m;
    }    


}

常用配置

nginx.conf

user www-data;
worker_processes auto;
pid /run/nginx.pid;
error_log /var/log/nginx/error.log;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
    # multi_accept on;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

    #ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
    #ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##
    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;
  server_tokens off;

    server_names_hash_bucket_size 512;
    client_header_buffer_size 32k;
    client_max_body_size 50m;
    keepalive_timeout 60;
    keepalive_requests 100000;
    ##
    # Gzip Settings
    ##
    gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
    gzip_vary on;
    gzip_proxied   expired no-cache no-store private auth;
    gzip_disable   "MSIE [1-6]\.";

    limit_conn_zone $binary_remote_addr zone=perip:10m;
    limit_conn_zone $server_name zone=perserver:10m;
    limit_conn perip 30;  # 每个 IP 地址最多允许 10 个并发连接
    limit_conn perserver 100;  # 每个服务器名称最多允许 100 个并发连接

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    #开启缓存配置
    proxy_temp_path /tmp/proxy_temp_dir; 
    proxy_cache_path /tmp/proxy_cache_dir levels=1:2 keys_zone=proxy_cache_panel:20m inactive=1d max_size=1g; 
    client_body_buffer_size 512k; 
    proxy_connect_timeout 60; 
    proxy_read_timeout 60; 
    proxy_send_timeout 60; 
    proxy_buffer_size 32k; 
    proxy_buffers 4 64k; 
    proxy_busy_buffers_size 128k; 
    proxy_temp_file_write_size 128k; 
    proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
    proxy_cache proxy_cache_panel;
}

vhost.conf

upstream qq {
    server 192.168.10.123:8787;
    keepalive 10240;
}

server {
    listen 80 ; 
    server_name qq.mfan.top; 
    index index.php index.html index.htm default.php default.htm default.html; 
    proxy_set_header Host $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Host $server_name; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection $http_connection; 
    #access_log /www/sites/qq.mfan.top/log/access.log main; 
    #error_log /www/sites/qq.mfan.top/log/error.log; 
    location ^~ /.well-known/acme-challenge {
        allow all; 
        root /etc/nginx/html; 
    }
    #include /www/sites/qq.mfan.top/proxy/*.conf; 
    #include /www/sites/qq.mfan.top/redirect/*.conf; 

    location ^~ / {
        proxy_pass http://qq; 
        proxy_set_header Host $host; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_set_header REMOTE-HOST $remote_addr; 
        proxy_set_header Upgrade $http_upgrade; 
        proxy_set_header Connection $http_connection; 
        proxy_set_header X-Forwarded-Proto $scheme; 
        proxy_http_version 1.1; 
        add_header X-Cache $upstream_cache_status; 
        add_header Cache-Control no-cache; 
        proxy_ssl_server_name off; 
        proxy_ssl_name $proxy_host;

        #开启缓存配置
        if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" ) {
            expires 1m; 
        }
        proxy_ignore_headers Set-Cookie Cache-Control expires; 
        proxy_cache proxy_cache_panel; 
        proxy_cache_key $host$uri$is_args$args; 
        proxy_cache_valid 200 304 301 302 10m; 
    }    
}

nfs挂载

mount -t nfs -o noatime,nodiratime,nodev,noexec,rsize=131072,wsize=131072 -o tcp 192.168.10.123:/mnt/user/webfiles /mnt/webfiles
文章目录