' Установка Apache и Nginx (mod-rpaf) на CentOS 6 | Шнайдер блог

Установка Apache и Nginx (mod-rpaf) на CentOS 6

Связка Apache + Nginx используется для снижения общей нагрузки на веб-севрер. Работают они по следующему принципу: более легкий Nginx занимается обработкой пользовательских запросов, выдавая статический контент, например, картинки, html-файлы, javascript-скрипты и прочее. Благодаря Nginx Apache не тратит время и ресурсы на “общение” с пользователями и обработку статики, из которой по большей части и состоит исходящий трафик. Таким образом Apache не запускает множество процессов, которые потребляют опреатинвую память.

Отметим, что связка Apache + Nginx актуальна для крупных веб-порталов с высокой посещаемостью. Рассмотрим пошагово, как установить Apache и Nginx CentOS 6.

Установка httpd

Установите Apache и PHP, mysql-server и php-mysq, а также php-mbstring:

yum -y install httpd mysql mysql-server php php-mysql php-mbstring

Откройте файл httpd.conf при помощи текстового редактор nano:

nano /etc/httpd/conf/httpd.conf

Выставьте следующие параметры:

Timeout 60

KeepAlive Off

# MaxKeepAliveRequests 100

# KeepAliveTimeout 10

 

StartServers 2

MinSpareServers 2

MaxSpareServers 4

ServerLimit 6

MaxClients 10

MaxRequestsPerChild 800

 

Listen 8080

 

User apache

Group apache

 

NameVirtualHost *:8080

Создайте файл конфигурации своего сайта в папке /etc/httpd/conf.d/название файла.conf. В нашем случае файл будет называться /etc/httpd/conf.d/mariavps.shn-host.ru.conf:

nano etc/httpd/conf.d/mariavps.shn-host.ru.conf

Добавьте в него следующие строки, заменив значения в ServerName, ServerAlias, DocumentRoot и Directory на ваши:

<VirtualHost          *:8080>

   ServerName mariavps.shn-host.ru

   ServerAlias www.mariavps.shn-host.ru

    DocumentRoot /var/www/html

 <Directory "/home/mariavps.shn-host.ru">

   AllowOverride All

   Options +Includes

</Directory>

</VirtualHost>

Установка nginx

Для установки nginx необходимо создать репозиторий /etc/yum.repos.d/nginx.repo:

nano /etc/yum.repos.d/nginx.repo

Добавьте в него строки:

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=0

enabled=1

Команда установки nginx:

yum install nginx

Откройте файл конфигурации /etc/nginx/nginx.conf:

nano /etc/nginx/nginx.conf

Выставьте следующие параметры:

user apache;

worker_processes auto;

error_log  /var/log/nginx/error.log warn;

pid        /var/run/nginx.pid;

 

events {

   worker_connections  1024;

}

 

http {

   include       /etc/nginx/mime.types;

   default_type  application/octet-stream;

 

   log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                     '$status $body_bytes_sent "$http_referer" '

                     '"$http_user_agent" "$http_x_forwarded_for"';

 

#    access_log  /var/log/nginx/access.log  main;

   sendfile        on;

   client_max_body_size 24M;

   #tcp_nopush     on;

   keepalive_timeout  65;

 

gzip on;

gzip_min_length  1100;

gzip_proxied     any;

gzip_disable     "msie6";

gzip_comp_level  8;

 

#gzip_types text/plain text/html text/xml application/xml application/x-javascript text/javascript text/css text/json;

gzip_types text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json;

#gzip_types text/html text/xml text/css application/x-javascript text/javascript;

 

include /etc/nginx/conf.d/*.conf;

}

Создайте конфигурационный файл сайта в папке /etc/nginx/conf.d с расширением .conf. В нашем случае файл будет называться /etc/nginx/conf.d./mariavps.shn-host.ru.conf:

nano /etc/nginx/conf.d./mariavps.shn-host.ru.conf

Добавьте в него следующие строки (встроках, где “фигурирует” mariavps.shn-host.ru впишите ваше значение (домен, папка сайта и пр.):

# A virtual host mariavps.shn-host.ru

 

server {

#  listen       mariavps.shn-host.ru:80;

  listen 80;

  server_name  mariavps.shn-host.ru;

   access_log  /var/log/nginx/mariavps.shn-host.ru_access.log;

                   location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|doc|docx|pdf|xls|xlsx|rar|zip|tbz|7z|exe)$ {

                   root /var/www/html/mariavps.shn-host.ru/;

                   expires 10d;

                                                                   }

                   location ~ /\.ht {

                                       deny  all;

                                                                   }

   location = /stat {

   stub_status on;

   access_log  off;

#   allow xx.xx.xx.xx;

#   deny all;

                  }

location / {

proxy_pass         http://127.0.0.1:8080/;

proxy_redirect     off;

log_not_found     off;

proxy_set_header   X-Real-IP $remote_addr;

proxy_set_header   Host $http_host;

proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;

            }

            }

Установка mod_rpaf

Подключите репозиторий mod_rpaf:

rpm -ivh http://download.ispsystem.com/repo/centos/release/6/x86_64/mod_rpaf-0.8.2-1.el6.x86_64.rpm

Откройте файл конфигурации /etc/httpd/conf.d/mod_rpaf.conf:

nano /etc/httpd/conf.d/mod_rpaf.conf

Подставьте следующие значения:

LoadModule rpaf_module modules/mod_rpaf-2.0.so

# mod_rpaf Configuration

RPAF_Enable On

RPAF_SetHostName On

RPAF_ProxyIPs 127.0.0.1 10.0.0.1

RPAF_Header X-Forwarded-For

Сохраните изменения, а затем перезапустите httpd и nginx:

service httpd restart && service nginx restart

Чтобы проверить, установлены ли nginx+Apache, нужно набрать в адресной строке браузера ваш-домен/info.php и ваш-домен:8080/info.php. Если вы не создали в корневом каталоге файл, “отвечающий” за вывод данной информации, сделайте это. В нашем случае info.php будет помещен в папку /var/www/html:

nano  /var/www/html/info.php

Добавьте в него скрипт:

<? phpinfo(); ?>

Сохраните изменения и откройте в браузере ваш-домен/info.php:

Ваш-домен:8080/info.php:


Категории


Хостинг сайтов

Популярное в категории