Created
March 17, 2014 05:32
-
-
Save robneu/9594453 to your computer and use it in GitHub Desktop.
Cpanel Nginx Conf. Use at your own risk.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
user nobody; | |
# you must set worker processes based on your CPU cores, nginx does not benefit from setting more than that | |
worker_processes 2; | |
# number of file descriptors used for nginx | |
# the limit for the maximum FDs on the server is usually set by the OS. | |
# if you don't set FD's then OS settings will be used which is by default 2000 | |
worker_rlimit_nofile 100000; | |
# only log critical errors | |
error_log /var/log/nginx/error.log crit; | |
# provides the configuration file context in which the directives that affect connection processing are specified. | |
events { | |
# determines how much clients will be served per worker | |
# max clients = worker_connections * worker_processes | |
# max clients is also limited by the number of socket connections available on the system (~64k) | |
worker_connections 5120; | |
# optmized to serve many clients with each thread, essential for linux | |
use epoll; | |
# accept as many connections as possible, may flood worker connections if set too low | |
multi_accept on; | |
} | |
http { | |
server_name_in_redirect off; | |
server_names_hash_max_size 10240; | |
server_names_hash_bucket_size 1024; | |
include mime.types; | |
default_type application/octet-stream; | |
server_tokens off; | |
# cache informations about FDs, frequently accessed files | |
# can boost performance, but you need to test those values | |
open_file_cache max=200000 inactive=20s; | |
open_file_cache_valid 30s; | |
open_file_cache_min_uses 2; | |
open_file_cache_errors on; | |
# to boost IO on HDD we can disable access logs | |
access_log off; | |
# copies data between one FD and other from within the kernel | |
# faster then read() + write() | |
sendfile on; | |
# send headers in one peace, its better then sending them one by one | |
tcp_nopush on; | |
# don't buffer data sent, good for small data bursts in real time | |
tcp_nodelay on; | |
# server will close connection after this time | |
keepalive_timeout 30; | |
# number of requests client can make over keep-alive -- for testing | |
keepalive_requests 100000; | |
# allow the server to close connection on non responding client, this will free up memory | |
reset_timedout_connection on; | |
# request timed out -- default 60 | |
client_body_timeout 10; | |
# if client stop responding, free up memory -- default 60 | |
send_timeout 2; | |
# remove/commentout disable_symlinks if_not_owner;if you get Permission denied error | |
# disable_symlinks if_not_owner; | |
gzip on; | |
gzip_vary on; | |
gzip_disable "MSIE [1-6]\."; | |
gzip_http_version 1.1; | |
gzip_min_length 10240; | |
gzip_proxied expired no-cache no-store private auth; | |
gzip_comp_level 6; | |
gzip_buffers 16 8k; | |
# You can remove image/png image/x-icon image/gif image/jpeg if you have slow CPU | |
gzip_types text/plain text/xml text/css application/x-javascript application/xml image/png image/x-icon image/gif image/jpeg application/javascript application/xml+rss text/javascript application/atom+xml; | |
ignore_invalid_headers on; | |
client_header_timeout 3m; | |
connection_pool_size 256; | |
client_header_buffer_size 256k; | |
large_client_header_buffers 4 256k; | |
client_max_body_size 200M; | |
client_body_buffer_size 128k; | |
request_pool_size 32k; | |
output_buffers 4 32k; | |
postpone_output 1460; | |
proxy_temp_path /tmp/nginx_proxy/; | |
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=microcache:5m max_size=1000m; | |
client_body_in_file_only on; | |
log_format bytes_log "$msec $bytes_sent ."; | |
log_format custom_microcache '$remote_addr - $remote_user [$time_local] ' | |
'"$request" $status $body_bytes_sent ' | |
'"$http_referer" "$http_user_agent" nocache:$no_cache'; | |
include "/etc/nginx/vhosts/*"; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment