Welcome! Log In Create A New Profile

Advanced

подскажите по конфигу

Posted by Egor 
подскажите по конфигу
October 02, 2012 11:53PM
Здравствуйте, уважаемые.
Имеется сервер i7 950 и 8GB RAM. Ось CentOS 6.3
Настраиваю nginx + php-fpm под Joomla 2.5.

конфиг nginx.conf (php-fpm настроен на 3 пула)

upstream backend {
server 127.0.0.1:9000 weight=100 max_fails=10 fail_timeout=5;
server 127.0.0.1:9001 weight=100 max_fails=10 fail_timeout=5;
server 127.0.0.1:9002 weight=100 max_fails=10 fail_timeout=5;
}

location ~ \.(php|htm|html)$ {
try_files $uri @joomla;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}

location @joomla {
fastcgi_pass backend;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REDIRECT_STATUS 200;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

}

Возникли вопросы:

1. конфиг php-fpm такой нормальный? у меня 3 пула.
pm.max_children = 1000
pm.start_servers = 30
pm.min_spare_servers = 30
pm.max_spare_servers = 100

2. как доступ в админку Joomla закрыть по ip? так работает доступ по ip, но не обрабатывает скрипты

location ^~ /administrator/ {
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
allow 1.2.3.4;
deny all;
}

3. подскажите для сервера i7 950 8GB RAM настройки worker_connections и worker_rlimit_nofile
у меня такие настройки
user nginx;
worker_processes 6;
worker_rlimit_nofile 51200;
worker_priority -5;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
timer_resolution 100ms;
events {
worker_connections 51200;
use epoll;
}

4. делаю тест ab -n 100 -c 10
Concurrency Level: 10
Time taken for tests: 2.315 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 972700 bytes
HTML transferred: 931800 bytes
Requests per second: 43.19 [#/sec] (mean)
Time per request: 231.525 [ms] (mean)
Time per request: 23.152 [ms] (mean, across all concurrent requests)
Transfer rate: 410.28 [Kbytes/sec] received

43 реквеста в секунду - это нормально? проверял сайт joomla.org, там 300 реквестов в секунду, правда там apache стоит.

Заранее спасибо. Надеюсь на вашу помощь
Re: подскажите по конфигу
October 10, 2012 06:22AM
неужели никто не подскажет?
Re: подскажите по конфигу
October 15, 2012 05:31AM
Всё зависит от нагрузки на сервер, посещаемость сайта, железа и прочего. Вот вам встречный вопрос: 1000 посетителей - это нормально? много или мало?
Экспериментируйте, смотрите сколько памяти потребляется, сколько процессора используется, как диски нагружаются - это то, что должно проверяться в первую очередь.
Re: подскажите по конфигу
October 17, 2012 12:17AM
1000 посетителей одновременно - это нормально, только выдержит ли джумла) а если 1000 в день, то мало.
Мой сайт еще в стадии наполнения-разработки, вполне возможна высокая нагрузка, вот поэтому и спрашиваю, а то не хотелось бы потом мучаться)

Можете подсказать, как мне доступ закрыть в админку по ip?
Re: подскажите по конфигу
October 17, 2012 04:04AM
1000 - это очень мало для таких сайтов как vk.vom, facebook.com. Так что вы неправы. Я задал этот вопрос потому что он не имеет конкретики.
Закрыть доступ можно через директивы allow/deny и указания нужных IP.
Re: подскажите по конфигу
October 17, 2012 05:39AM
для vk и миллиона мало)

вот с таким конфигом доступ по ip работает, но почему-то не обрабатывает скрипты и файлы, находящиеся в данной папке. в чем подвох?

location ^~ /administrator/ {
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
allow 1.2.3.4;
deny all;
}
Re: подскажите по конфигу
October 17, 2012 07:56AM
Смотрите в сторону вашего backend;
Иногда бывают проблемы и лучше задавать не $document_root, а полный путь к корню сайта.
Re: подскажите по конфигу
October 18, 2012 04:01AM
выдает такую ошибку " FastCGI sent in stderr: "Access to the script '/var/www/site.ru/administrator/templates/xxxx.css has been denied (see security.limit_extensions)" while reading response header from upstream"

гугление ничего не дало.

конфиг такой :

upstream backend {
server 127.0.0.1:9000 weight=100 max_fails=10 fail_timeout=5;
server 127.0.0.1:9001 weight=100 max_fails=10 fail_timeout=5;
server 127.0.0.1:9002 weight=100 max_fails=10 fail_timeout=5;
}

location ^~ /administrator/ {
root /var/www/site.ru/administrator;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
allow 1.2.3.4;
deny all;
Re: подскажите по конфигу
October 18, 2012 10:58AM
а что у вас написано в security.limit_extensions ? искать в php.ini
Re: подскажите по конфигу
October 18, 2012 09:45PM
в php.ini нет такой строчки.
в www.conf есть, она закомментрирована
правда я уже и там пробовал, такая же ошибка http://habrahabr.ru/qa/20589/
; security.limit_extensions = .php .php2 .php3 .php4 .php5
Re: подскажите по конфигу
October 19, 2012 05:09AM
выставьте тогда так
security.limit_extensions =
Re: подскажите по конфигу
October 21, 2012 02:07AM
так тоже не работает. выдает 200 ошибку на все css и файлы внутри папки administrator кроме index.php
FastCGI sent in stderr: "Access to the script '/var/www/site.ru/administrator/templates/xxxx.css has been denied (see security.limit_extensions)" while reading response header from upstream"

с указыванием рута пишет File not found
location ^~ /administrator/ {
root /var/www/site.ru/administrator;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
allow 1.2.3.4;
deny all;

у меня нет виртуалхостов, все прописано в конфиге nginx.conf

больше всего удивляет, что без указывания настроек для папки администратора, все работает без проблем.
Re: подскажите по конфигу
October 21, 2012 02:07AM
на все папки стоят права 777, на файлы 644
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 92
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready