|
|
|
@@ -0,0 +1,151 @@ |
|
|
|
user nginx; |
|
|
|
|
|
|
|
worker_processes 2; |
|
|
|
|
|
|
|
# Maximum open file descriptors per process; |
|
|
|
# should be > worker_connections. |
|
|
|
worker_rlimit_nofile 8192; |
|
|
|
|
|
|
|
events { |
|
|
|
# When you need > 8000 * cpu_cores connections, you start optimizing your OS, |
|
|
|
# and this is probably the point at which you hire people who are smarter than |
|
|
|
# you, as this is *a lot* of requests. |
|
|
|
worker_connections 16000; |
|
|
|
use epoll; |
|
|
|
multi_accept on; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
# Default error log file |
|
|
|
# (this is only used when you don't override error_log on a server{} level) |
|
|
|
pid /var/run/nginx.pid; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
http { |
|
|
|
|
|
|
|
# Hide nginx version information. |
|
|
|
server_tokens off; |
|
|
|
client_max_body_size 128m; |
|
|
|
client_body_buffer_size 32k; |
|
|
|
#fastcgi_buffers 8 16k; |
|
|
|
#fastcgi_buffer_size 32k; |
|
|
|
fastcgi_buffer_size 16k; |
|
|
|
fastcgi_buffers 4 16k; |
|
|
|
|
|
|
|
open_file_cache max=200000 inactive=20s; |
|
|
|
open_file_cache_valid 30s; |
|
|
|
open_file_cache_min_uses 2; |
|
|
|
open_file_cache_errors on; |
|
|
|
error_log error.log debug; |
|
|
|
|
|
|
|
|
|
|
|
# Define the MIME types for files. |
|
|
|
include 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"'; |
|
|
|
|
|
|
|
# Default log file |
|
|
|
# (this is only used when you don't override access_log on a server{} level) |
|
|
|
#access_log logs/access.log main; |
|
|
|
access_log off; |
|
|
|
|
|
|
|
|
|
|
|
# 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/ld+json |
|
|
|
application/manifest+json |
|
|
|
application/rdf+xml |
|
|
|
application/rss+xml |
|
|
|
application/schema+json |
|
|
|
application/vnd.geo+json |
|
|
|
application/vnd.ms-fontobject |
|
|
|
application/x-font-ttf |
|
|
|
application/x-javascript |
|
|
|
application/x-web-app-manifest+json |
|
|
|
application/xhtml+xml |
|
|
|
application/xml |
|
|
|
font/eot |
|
|
|
font/opentype |
|
|
|
image/bmp |
|
|
|
image/svg+xml |
|
|
|
image/vnd.microsoft.icon |
|
|
|
image/x-icon |
|
|
|
text/cache-manifest |
|
|
|
text/css |
|
|
|
text/javascript |
|
|
|
text/plain |
|
|
|
text/vcard |
|
|
|
text/vnd.rim.location.xloc |
|
|
|
text/vtt |
|
|
|
text/x-component |
|
|
|
text/x-cross-domain-policy |
|
|
|
text/xml; |
|
|
|
# text/html is always compressed by HttpGzipModule |
|
|
|
|
|
|
|
# This should be turned on if you are going to have pre-compressed copies (.gz) of |
|
|
|
# static files available. If not it should be left off as it will cause extra I/O |
|
|
|
# for the check. It is best if you enable this in a location{} block for |
|
|
|
# a specific directory, or on an individual server{} level. |
|
|
|
# gzip_static on; |
|
|
|
|
|
|
|
# Include files in the sites-enabled folder. server{} configuration files should be |
|
|
|
# placed in the sites-available folder, and then the configuration should be enabled |
|
|
|
# by creating a symlink to it in the sites-available folder. |
|
|
|
# See doc/sites-enabled.md for more info. |
|
|
|
index index.html index.htm index.php _h5ai/public/index.php; |
|
|
|
|
|
|
|
include /etc/nginx/conf.d/*.conf; |
|
|
|
} |
|
|
|
|
|
|
|
|