include /etc/nginx/modules-enabled/*; user nginx; worker_processes 2; worker_rlimit_nofile 8192; pid /run/nginx.pid; events { worker_connections 8000; # multi_accept on; } http { server_tokens off; include /etc/nginx/mime.types; default_type application/octet-stream; # Update charset_types due to updated mime.types charset_types text/xml text/plain text/vnd.wap.wml application/x-javascript application/rss+xml text/css application/javascript application/json; # Format to use in log files log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; ## # Logging Settings ## access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log warn; # How long to allow each connection to stay idle; longer values are better # for each individual client, particularly for SSL, but means that worker # connections are tied up longer. (Default: 65) keepalive_timeout 20; # Speed up file transfers by using sendfile() to copy directly # between descriptors rather than using read()/write(). sendfile on; # Tell Nginx not to send out partial frames; this increases throughput # since TCP frames are filled up before being sent out. (adds TCP_CORK) tcp_nopush on; # Compression # Enable Gzip compressed. gzip on; # Compression level (1-9). # 5 is a perfect compromise between size and cpu usage, offering about # 75% reduction for most ascii files (almost identical to level 9). gzip_comp_level 5; # Don't compress anything that's already small and unlikely to shrink much # if at all (the default is 20 bytes, which is bad as that usually leads to # larger files after gzipping). gzip_min_length 256; # Compress data even for clients that are connecting to us via proxies, # identified by the "Via" header (required for CloudFront). gzip_proxied any; # Tell proxies to cache both the gzipped and regular version of a resource # whenever the client's Accept-Encoding capabilities header varies; # Avoids the issue where a non-gzip capable client (which is extremely rare # today) would display gibberish if their proxy gave them the gzipped version. gzip_vary on; # Compress all output labeled with one of the following MIME-types. gzip_types application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/x-component; # text/html is always compressed by HttpGzipModule ## # GeoIP ## map_hash_bucket_size 64; map_hash_max_size 8192; include /etc/nginx/country-code3.conf; include /etc/nginx/timezone-offset.conf; geoip2 /usr/share/GeoIP/GeoLite2-City.mmdb { $geoip2_continent_code continent code; $geoip2_country country names en; $geoip2_country_code country iso_code; $geoip2_region subdivisions 0 names en; $geoip2_region_code subdivisions 0 iso_code; $geoip2_city city names en; $geoip2_postal_code postal code; $geoip2_latitude location latitude; $geoip2_longitude location longitude; $geoip2_timezone location time_zone; } geoip2 /usr/share/GeoIP/GeoLite2-ASN.mmdb { $geoip2_asn autonomous_system_number; $geoip2_organization autonomous_system_organization; } # Virtual hosts include /etc/nginx/conf.d/telize.conf; }