Счетчик

Поисковый анализ сайта
яндекс.ћетрика
Cервер и сайт запущен 2011.02.01 на Debian

Разрешаем модули апача2

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include



правим конфиг сайта по умолчанию, и далее от него и отталкиваемся при создании виртуалхостов:
nano /etc/apache2/sites-available/default (все стираем и делаем так, ну и всетки думаем что делаем, ибо под вашу задачу могут быть отличия)
(порт 81 это не ошибка, так и должно быть, ибо слушать 80й порт у нас будет nginx, и в апачь передавать только запросы на динамику(php и др)):

<VirtualHost *:81>
        ServerAdmin webmaster@твой_сайт
        DocumentRoot /var/www/твой_сайт
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>



правим в двух местах nano /etc/apache2/apache2.conf

MaxClients          20



Ставим nginx + apache2-mod-rpaf

apt-get install nginx libapache2-mod-rpaf



nano /etc/apache2/ports.conf

NameVirtualHost 127.0.0.1:81
Listen 81



Далее настраиваем виртуальный хост apache.
Копируем дефолтный конфиг: (и правим его под свой домен)

cd /etc/apache2/sites-available
cp ./default /etc/apache2/sites-enabled/domain.com



Настраиваем gzip сжатие для nginx. И сам nginx (worker_processes 1; ставим равному количеству ядер в процессоре). Открываем конфиг:

cat /dev/null > /etc/nginx/nginx.conf
nano /etc/nginx/nginx.conf



все стираем и делаем так:

user www-data;
worker_processes  1;
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    server_names_hash_bucket_size 64;
    access_log  /var/log/nginx/access.log;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;
    gzip                on;
    gzip_proxied        any;
    gzip_min_length     1100;
    gzip_http_version   1.0;
    gzip_buffers        4 8k;
    gzip_comp_level     9;
    gzip_types          text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}



Для нашего виртуалхоста создаем новый конфиг:
nano /etc/nginx/sites-enabled/domain.com

server {
listen 80;
server_name domain.com;
access_log /var/log/nginx.access_log;
location ~* .(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
root /var/www/test.domain.com/;
index index.html index.php;
access_log off;
expires 30d;
}
location ~ /.ht {
deny all;
}
location / {
proxy_pass http://127.0.0.1:81/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}



С такими настройками nginx у нас отдаёт всю статику (картинки, видиое, музыку, css, ява скрипты и др.), а апачь трудиться только над выполнением php.

Устанавливаем memcached:

apt-get install memcached



Устанавливаем eAccelerator.
Так же тянем php5-dev, т.к. нам понадобится утилита phpize.

apt-get install php5-dev
cd /tmp/
wget http://www.sysadmin-komi.ru/images/download/apache2/eaccelerator-0.9.6.1.zip


eaccelerator-0.9.6.1.zip

cd eaccelerator-0.9*
phpize 
./configure --enable-eaccelerator=shared 
make
make install



Создаем папку кеша:

mkdir -p /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator



Редактируем конфиг PHP:

nano /etc/php5/apache2/php.ini



Добавляем строки в самом верху:

[PHP]

; eAccelerator configuration
; Note that eAccelerator may also be installed as a PHP extension or as a zend_extension
; If you are using a thread safe build of PHP you must use
; zend_extension_ts instead of zend_extension
extension                       = "eaccelerator.so"
eaccelerator.shm_size           = "16"
eaccelerator.cache_dir          = "/var/cache/eaccelerator"
eaccelerator.enable             = "1"
eaccelerator.optimizer          = "1"
eaccelerator.check_mtime        = "1"
eaccelerator.debug              = "0"
eaccelerator.filter             = ""
eaccelerator.shm_max            = "0"
eaccelerator.shm_ttl            = "0"
eaccelerator.shm_prune_period   = "0"
eaccelerator.shm_only           = "0"
eaccelerator.compress           = "1"
eaccelerator.compress_level     = "9"
eaccelerator.allowed_admin_path = "/var/www/eaccelerator"



Перезапускаем сервисы:

/etc/init.d/ apache2 restart && /etc/init.d/nginx restart && /etc/init.d/memcached restart



Все коллеги, у меня этот пример работает на ура

Добавить комментарий


Защитный код
Обновить