PDA

View Full Version : nginx config help (getting started)


LuisManson
09-30-2010, 12:16 PM
Hi, im just migrating my server to a P3, 2Gb RAM, 500Gb HD. I just became interested on the benefits of nginx/php-fpm over apache and im trying to move to this environment from a FreeBSD/Apache setup

my site has almost 300 users online on top hour...
4K visits/day
400K page views/day
1M hits/day
4Gb transfered/day

i need some exmaple config files of a working site or an optimized config, since im an apache/mod_php guy im reaaaaly lost here...

thanks!

Liquid1ce
10-01-2010, 11:14 PM
you can try this

nginx.conf
events {
worker_connections 6000;
}
worker_processes 12;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 10;
gzip on;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

php-fpm.conf
<value name="max_children">3000</value>
<value name="StartServers">200</value>
<value name="MinSpareServers">600</value>
<value name="MaxSpareServers">2000</value>
<value name="request_terminate_timeout">10s</value>

LuisManson
10-02-2010, 05:48 PM
good, thanks!!! :D

snakes1100
10-03-2010, 01:04 PM
With 300 people online at your peak time, there is no reason to start nginx or php-fpm with that many connections, there is no way you will use them, they are also going to use resources better spent in other places.

Start them off with their default connection limits in place, consider raising them if your traffic increases.

You should adjust these values based on your sites traffic & content, NOT by what others are using, these values should reflect your needs.

Basic optimized configuration:

client_header_timeout 10m;
client_body_timeout 10m;
send_timeout 10m;
client_max_body_size 10m;
client_body_buffer_size 10m;
connection_pool_size 256;
client_header_buffer_size 8k;
large_client_header_buffers 4 32k;
request_pool_size 8k;

gzip on;
gzip_min_length 1100;
gzip_buffers 8 16k;
gzip_comp_level 1;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_disable "MSIE [1-6]\.";

output_buffers 1 32k;
postpone_output 1460;

sendfile on;
tcp_nopush on;
tcp_nodelay on;

server_names_hash_max_size 4096;
server_names_hash_bucket_size 128;

keepalive_timeout 75 20;

ignore_invalid_headers on;

fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 8k;
fastcgi_buffers 4 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
index index.php;

proxy_buffering on;
proxy_buffer_size 4k;
proxy_buffers 8 32k;

The above is for a site pumping a lot of content, with a lot of ads, with multiple sites hosted, in the header etc, again base these settings off your site.

With 2500 online:

nginx.conf
worker_processes 8; <-- 1 per core
worker_rlimit_nofile 4096;

events {
worker_connections 1024;
use epoll;
}


php-fpm.conf
listen.backlog = -1
pm = dynamic
pm.max_children = 50
pm.start_servers = 15
pm.min_spare_servers = 10
pm.max_spare_servers = 25
pm.max_requests = 500


With 4000 online, different server/forum

nginx.conf
worker_processes 16; <-- 1 per core
worker_rlimit_nofile 4096;

events {
worker_connections 2048;
use epoll;
}


php-fpm.conf
listen.backlog = -1
pm = dynamic
pm.max_children = 10
pm.start_servers = 35
pm.min_spare_servers = 15
pm.max_spare_servers = 50
pm.max_requests = 1024

Angel-Wings
10-04-2010, 09:16 AM
I just became interested on the benefits of nginx/php-fpm over apache and im trying to move to this environment from a FreeBSD/Apache setup

And do these benefits exactly match your existing setup and configuration and usage data that there's a real benefit ?

Without any usage datas and building a configuration upon these matching exactly the needs there won't be much speedup by changing some software. ;)

LuisManson
10-04-2010, 11:02 AM
thank you very much snakes1100 , i will definitely go to try to use something from that info!!!


Angel-Wings: im not sure, but if i dont try how do i know if its better?
Yet, my new hardware is a bit smaller, so i think this will be an improvement some how, i lost a bit on hardware now, but i also migrate to a lighter software

about my usage data, what do you ask specifically?
i obviously wont just copy/paste the examples posted here, since everyone has different needs, but i needed a starting base :)

Marco van Herwaarden
10-04-2010, 01:01 PM
As per this forums Forum & Server Management posting guidelines (https://vborg.vbsupport.ru/announcement.php?f=232&a=46) this question should have been asked on vBulletin.com:
Topics that do not fit this forum:

General PHP/MySQL/webserver configuration.

Please use vBulletin.com to get suggestions on your servers configuration on the topic of general PHP/MySQL optimisation. On the vBulletin.com Server Configuration (http://www.vbulletin.com/forum/forumdisplay.php?f=14) you will get suggestions by one of our Support Professionals.

LuisManson
10-04-2010, 01:37 PM
thanks Marco, im actually interested on real work config examples, not sure if support also has own boards with vb and different environments :)

Marco van Herwaarden
10-04-2010, 02:21 PM
Both Eva2000 (official support) and other users may respond in that forum. Eva2000 (George) is very experienced in running many different environments.

Bottom line is that it is better to have such specialized information in a single place.