LINUX.ORG.RU
ФорумAdmin

Посоветуйте конфигурацию веб-сервера

 , , ,


2

1

Собираюсь на чистой системе поднять свой веб-сервер на VPS с Debian 7.7 и 1GB RAM. В гугле много вариантов конфигурации нашел. Все гайды много чем отличаются. Пока остановился на apache+nginx и nginx+php-fpm. Какой вариант предпочтительнее для WP движков? Меня в основном интересует нормальное кэширование и не тормозная работа сервера и сайтов.

И еще сразу возникает пару вопросов:
1. При использовании связки apache+nginx как дела обстоят с кэшированием статики, выдаваемой nginx'ом?
2. При использовании связки nginx+php-fpm правила .htaccess уже не будут работать. Что делать с этим?

★★★

2. При использовании связки nginx+php-fpm правила .htaccess уже не будут работать. Что делать с этим?

Руками настраивать в конфиге хоста. Очевидно же.

Kilte ★★★★★ ()
Ответ на: комментарий от Kilte

конвертить правила редиректов и ограничения доступов по IP как то не хочется

zevilz ★★★ ()

Вот мне 2 ссылки нравятся:
1. http://ruhighload.com/index.php/2010/12/03/используем-nginx-как-кеширующий-се...
2. http://ruhighload.com/index.php/2009/04/24/настройка-nginx/

а что касается htaccess - тут надо посмотреть на чем твой сайт крутится, если wordpress(и тому подобное), то уже давно можно отыскать конфиг nginx, который повторяет правила htaccess, если сайт целиком самописный, то придется руками htaccess конвертировать в nginx

Acceptor ★★ ()

apache лишний, лучше без него, поэтому бери этот вариант: nginx+php-fpm.

При использовании связки nginx+php-fpm правила .htaccess уже не будут работать. Что делать с этим?

Есть конфиг под nginx.

Если хочется покэшировать, то nginx может кэшировать PHP как статику.

Black_Roland ★★★★ ()

Решил поствить nginx+php-fpm. Может есть где годные мануалы по настройке конфигов? Нашел только вот этот вроде более менее нормальный - http://help.ubuntu.ru/wiki/nginx-phpfpm

zevilz ★★★ ()
Последнее исправление: zevilz (всего исправлений: 1)

Ниодин мануал не помог. Настроил сервер по своему. Вроде как все работает. Но при заходе на WP редиректит на установку (wp-admin/install.php).

zevilz ★★★ ()

Kilte, Amet13, Acceptor, Black_Roland
Вроде как все нормально заработало, сайты по ощущению грузятся быстрее, нагрузка на сервер уменьшилась. Но время ожидания ответа сервера увеличилась.

1 сайт: было 0,1-0,2сек, стало 0,5-1,5
2 сайт: было 0,6-1,1, стало 1,5-3,5

Может сервак у hetzner'а сегодня тормозит, но может что не так донастроил/накосячил?

nginx + php-fpm. php-fpm не настриивал

nginx.conf:

user www-data;
worker_processes 1;
pid /var/run/nginx.pid;
timer_resolution 100ms;
worker_rlimit_nofile 8192;
worker_priority -5;

events {
        worker_connections 1024;
        # multi_accept on;
}

http {
        client_max_body_size 100m;

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        gzip on;
        gzip_disable "msie6";

        gzip_vary on;
        gzip_proxied any;
        gzip_comp_level 6;
        gzip_buffers 16 8k;
        gzip_http_version 1.1;
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        #include /etc/nginx/naxsi_core.rules;

        # nginx-passenger config
        ##
        # Uncomment it if you installed nginx-passenger
        #passenger_root /usr;
        #passenger_ruby /usr/bin/ruby;

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
}

конфиг хостов:

server {
        listen   80;
        root /var/www/site.ru;

        access_log /var/www/logs/nginx.site.log;

        server_name site.ru www.site.ru;

        location / {
                index index.php;
                try_files       $uri $uri/ @wordpress;
        }

        location ~* ^.+.(xml|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
                access_log off; log_not_found off; expires max;
        }

        location ~ \.php$ {
               # fastcgi_pass 127.0.0.1:9000;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }

        location ~* "^/(wp-config.php)((/.*)?)$"
        {
                deny all;
                return 404;
        }
        location @wordpress
        {
                rewrite "^/(.*)$" "/index.php?q=$1" last;
        }

        location /phpmyadmin {
                root /usr/share/;
                index index.php index.html index.htm;
                location ~ ^/phpmyadmin/(.+\.php)$ {
                        try_files $uri =404;
                        root /usr/share/;
                        #fastcgi_pass 127.0.0.1:9000;
                        fastcgi_pass unix:/var/run/php5-fpm.sock;
                        fastcgi_index index.php;
                        fastcgi_param SCRIPT_FILENAME $request_filename;
                        include /etc/nginx/fastcgi_params;
                }
                location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                        root /usr/share/;
                }
        }
        location /phpMyAdmin {
                rewrite ^/* /phpmyadmin last;
        }
}

zevilz ★★★ ()
Ответ на: комментарий от zevilz

в конфиге, вроде нет ничего страшного...

разве что.. поставь worker_processes равным количеству ядер.

Ну и php-fpm... можно было б немного подтюнить.. например задать статичной количество pm = static и pm.max_children и pm.max_requests. (хотя это при высокой нагрузке только играет роль)

Базу подтюнить... ну и кеширования статики в текущем конфиге не видно.

Acceptor ★★ ()
Последнее исправление: Acceptor (всего исправлений: 1)
Ответ на: комментарий от Amet13

Сам php-fpm не пробовал, но много слышал, что там что-то не то.

и что же с ним не так?

reprimand ★★★★★ ()

мне, кстати, всегда было интересно, нахрена использовать все эти «кеширующие серверы/etc»?

reprimand ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.