Настройка apache 2 + nginx + php 5 + MySQL + memcached + eaccelerator + sphinx в Ubuntu

Итак сегодня я раскажу вам как поднять Веб сервер на маломощном компьютере или VDS / VPS

Мной был взят сервер VDS в конфигурации CPU 480 MHz, RAM 256 Mb, HDD 8 Gb (Ubuntu Server 9.04).

Делаем начальные действия необходимые нам для дальнейшей работы:

выставим пароль root и зайдем под ним
sudo passwd root
su


обновим информацию о пакетах, и обновим систему
aptitude update
aptitude upgrade


доставим wget если ставились в минималке
aptitude install wget make


поставим webmin дабы было удобнее приглядывать за сервером (после установки он доступен по адресу https://ваш адрес:10000)
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.490_all.deb (версию подставляйте свежую на момент своих действий)
dpkg -i webmin_1.490_all.deb
aptitude -f install


Поставим SSH если он ещё не установлен
aptitude install ssh openssh-server


Доставим g++ он пригодится в дальнейшем:

aptitude install g++ 


С подготовительной частью закончили, ставим веб сервер.

Установка apache2 + phph5 + mysql + phpmyadmin одной строкой:

aptitude install mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl phpmyadmin


По ходу установки вводим пароль пользователя сервера Mysql (root):

New password for the MySQL «root» user: < — yourrootsqlpassword ВАШ ПАРОЛЬ
Repeat password for the MySQL «root» user: < — yourrootsqlpassword ЕЩЕ РАЗ ВАШ ПАРОЛЬ

Разрешаем модули апача:
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>


Делаем ссылку на наш файл в папке /etc/apache2/sites-enabled/

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

MaxClients          20


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


wget http://ftp.de.debian.org/debian/pool/main/n/nginx/nginx_0.7.62-1_i386.deb
dpkg -i nginx_*
aptitude install libapache2-mod-rpaf


nano /etc/apache2/ports.conf

NameVirtualHost *:81
Listen 81


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

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


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

nano /usr/local/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/example.com


server {
listen 80;
server_name example.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.gigma.ru/;
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:

aptitude install memcached


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

aptitude install php5-dev 
aptitude install make
cd /tmp/ 
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2 
tar xvjf eaccelerator-0.9.5.3.tar.bz2 
cd eaccelerator-0.9.5.3 
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"


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

service apache2 restart
service nginx restart
service memcached restart


Вуаля у нас супершустрый сервер который кушает 90мб оперативной памяти.

Для тех кому нужен sphinx (free open-source SQL full-text search engine)

wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8.1.tar.gz
tar –xzvf sphinx-0.9.8.tar.gz
cd sphinx-0.9.8
./configure
make
make install
mkdir -p /var/db/sphinx/log
chmod -R 777 /var/db/
mkdir -p /usr/local/SphinxIndex
chmod -R 777 /usr/local/SphinxIndex/

и правим конфиг под свои нужды:
nano /usr/local/etc/sphinx.conf


Вроде ничего незабыл…
  • +7
  • 13 октября 2009, 23:08
  • ASovetov      


Комментарии (101)

RSS свернуть / развернуть
+
0
супер! Спасибо.
Для меня как библия :)
avatar

aisico

  • 14 октября 2009, 01:57
+
0
Будем рады видеть Вас =)
avatar

ASovetov

  • 14 октября 2009, 02:01
+
0
кстати в строке установки apache2 + phph5 + mysql + phpmyadmin одной строкой все верно?
php-pear


Может php5-pear?
avatar

aisico

  • 14 октября 2009, 02:38
+
+1
такого пакета несуществует же ;-) так что написано у меня все верно =)
avatar

ASovetov

  • 14 октября 2009, 05:16
+
0
эмм не подскажите как начать все сначала с чистого листа, удалив все то, что я делал на сервере? хочу попробовать сделать настройку сервера по вашей статье :)
avatar

aisico

  • 14 октября 2009, 22:22
+
0
ну если у вас VDS то у него в панеле управления есть кнопочка переустановить все с нуля.
а вобще всё зависит от вашего конкретного случая, я не телепат к сожалению.
avatar

ASovetov

  • 14 октября 2009, 23:01
+
0
truevds — уважаемый ASovetov.
avatar

aisico

  • 14 октября 2009, 23:05
+
0
через форму на сайте пишите номер заявки (выдана при регистрации)
адрес IP сервера вашего
и текст — прошу переустановить систему на моём вдс.

как сделают отпишуться, будет у вас чистое все. и можно приступать.

ну понятно что если на сервере что полезное есть то надо это забрать =)
avatar

ASovetov

  • 15 октября 2009, 04:12
+
0
отличная статья, спасибо!
сохраняю в заметки на будущее:)
avatar

robocoffee

  • 14 октября 2009, 06:38
+
0
Напишите пожалуйста как в дальнейшем можно добавлять сайты новые + поддомены для них
avatar

antweb

  • 14 октября 2009, 08:17
+
0
хм. ну как и всегда, просто добавить ещё виртуал хост по образу и потобию. В апачь и в nginx.
Нарпимер чтоб добавить домен — мой_супер_домен.ру:
nano /etc/nginx/sites-enabled/мой_супер_домен.ру


server {
listen 80;
server_name мой_супер_домен.ру;
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/мой_супер_домен.ру/;
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;
}
} 


nano /etc/apache2/sites-available/мой_супер_домен.ру

<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>


ну и создать папочку /var/www/мой_супер_домен.ру
avatar

ASovetov

  • 14 октября 2009, 12:03
+
+1
ну и после всего конечно:
service apache2 restart
service nginx restart
avatar

ASovetov

  • 14 октября 2009, 12:05
+
0
Спасибо большое, только не понятно как например создать доддомен и как привязать доменное имя к этому сайту
avatar

antweb

  • 14 октября 2009, 12:44
+
0
ну привязка доменов к серверу это уже другая тема…
поддомен создаёте там же где и домен.
сервер просто смотрит с какого урла вы пришли и посылает вас в такю папку…

а регистрация доменов, управление NSзаписями и тд это отдельная тема.
avatar

ASovetov

  • 14 октября 2009, 12:53
+
0
Приведите пожалуйста пример добавления поддомена, я новичок в Ubuntu.

а регистрация доменов, управление NSзаписями и тд это отдельная тема.

Было бы классно, если бы написали инструкцию как домены прикручивать и как устанавливать соответствующее ПО

Спасибо большое!
avatar

antweb

  • 14 октября 2009, 13:29
+
0
ну про установку NS на убунту я обязательно напишу, сразу скажу только что у вас должно быть два айпи адреса у сервера.
Пример добавления поддоменов ничем не отличаеться от добавления доменов, если говорить о апаче и nginx.
А вот создать поддомен, отправить его к вам на сервер (связать с айпи сервера) это дело либо регистратора если он позволяет вешать домен на его NS. либо дело следующей статьй про настройку NS на убунте =)
avatar

ASovetov

  • 14 октября 2009, 13:57
+
0
Спасибо за статью, всё сделал по ней вследствии чего добавлю свои исправления:
Файлы конфигурационные апача, я добавлял в папку /etc/apache2/sites-enabled/
потому что по дефолту в конфигах апача у меня был прописана эта дирректория для инклуда.

Настроил работу на несколько доменов. Конф для nginx выглядит так же как у тебя, а вот для апача есть мелочи, из-за которых всё не работало.
После

ServerAdmin webmaster@мой_супер_домен.ру

добавить

ServerName мой_супер_домен.ру

а в этой директиве не забыть закрывающий слеш, иначе не заработало:

DocumentRoot /var/www/мой_супер_домен.ру/
avatar

moskanz

  • 28 октября 2009, 09:28
+
0
Правда занято оперативки 194.46 MB used(по вебмину)
я чтото сделал сильно не так?
avatar

moskanz

  • 28 октября 2009, 09:39
+
0
Сколько всего оперативки у сервака?
avatar

admin

  • 28 октября 2009, 15:40
+
0
1024
avatar

moskanz

  • 29 октября 2009, 04:45
+
0
ну потому и занято больше. убунта резервирует в зависимости от общего обьема мозгов кусок себе под всякие нужды. дабы их ненароком не занял кто ещё.
так что вполне нормально у тебя все. =)
avatar

admin

  • 29 октября 2009, 07:00
+
0
По какому адресу потом можно проверять правильность подобной настройки?
avatar

nemish

  • 4 февраля 2012, 19:07
+
0
Только что заполучил доступ до сервера как и вы взял на тестовый период, проверил статью:
поставим webmin дабы было удобнее приглядывать за сервером (после установки он доступен по адресу https://ваш адрес:10000)
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.490_all.deb (версию подставляйте свежую на момент своих действий)
dpkg -i webmin_1.490_all.deb


Не удалось поставить выдала ошибку
root@localhost:# dpkg -i webmin_1.490_all.deb
Selecting previously deselected package webmin.
(Reading database… 30247 files and directories currently installed.)
Unpacking webmin (from webmin_1.490_all.deb)…
dpkg: dependency problems prevent configuration of webmin:
webmin depends on libnet-ssleay-perl; however:
Package libnet-ssleay-perl is not installed.
webmin depends on libauthen-pam-perl; however:
Package libauthen-pam-perl is not installed.
webmin depends on libio-pty-perl; however:
Package libio-pty-perl is not installed.
webmin depends on libmd5-perl; however:
Package libmd5-perl is not installed.
dpkg: error processing webmin (--install):
dependency problems — leaving unconfigured
Errors were encountered while processing:
webmin

Далее:
(порт 81 это не ошибка, так и должно быть, ибо слушать 80й порт у нас будет nginx, и в апачь передавать только запросы на динамику(php и др)):

После всех монипуляций сервер откликавшийся на ip адрес, тоесть грузился apache, теперь не отвечает, а отвечает на ip:81 — но там html страница, на php может быть будет нормально работать?

Для нашего виртуалхоста создаем новый конфиг:

root /var/www/test.gigma.ru/;

Вот в этой строке нужно наверное свой адрес сайта?

tar –xzvf sphinx-0.9.8.tar.gz

Тут надо
tar –xzvf sphinx-0.9.8.1.tar.gz


avatar

antweb

  • 15 октября 2009, 13:34
+
0
С нетерпение жду статью по привязке нескольких сайтов к серверу!!!

avatar

antweb

  • 15 октября 2009, 13:34
+
0
Все со всеми ошибками разобрался, осталась только одна. LiveStreet не работает по адресу, а работает только с ip:81 — как можно решить?
avatar

antweb

  • 15 октября 2009, 17:02
+
0
после вебмина надо aptitude -f install (дописал в статью, забыл сразу написать)
tar –xzvf sphinx-0.9.8.1.tar.gz (и другие пакеты могут отличаться бо версии постоянно меняються)
root /var/www/test.gigma.ru/; — это только пример. канешно надо писать свой домен.
теперь не отвечает, а отвечает на ip:81 — на 81 порту отвечает апачь. на 80 висит nginx если не отвечает просто по домену знаит вы гдето сделали чтото не так. перечитывайте, пересматривайте конфиги. думайте где строки указаны в качестве примере (аля мой_сайт, test.gigma.ru, example.com)
avatar

ASovetov

  • 15 октября 2009, 18:03
+
+1
ну про установку NS на убунту я обязательно напишу

когда можно примерно ожидать?
avatar

antweb

  • 18 октября 2009, 17:13
+
0
Присоединяюсь к вопросу!
avatar

aisico

  • 18 октября 2009, 19:40
+
0
как только будет время так напишу =) пока работы много, времени мало.
avatar

ASovetov

  • 19 октября 2009, 05:52
+
0
Здравствуйте! Делаю все по пунктам. Но споткнулся на моменте, когда надо править конфиг nginx и настраивать сжатие. Я просто не нашел файла в папке /usr/local/etc/, точнее, не находится вообще никаких следов нгинкс. Может это быть из-за того, что ставил я уже версию nginx_0.7.62-3_i386.deb а nginx_0.7.62-1_i386.deb там уже не было. При dpkg -i nginx_* выдает ошибки:
dpkg: error processing nginx_0.7.62-3_i386.deb (--install): package architecture (i386) does not match system (amd64)
Errors were encountered while processing:
nginx_0.7.62-3_i386.deb

Извините за глупый вопрос, но я еще новичек:)
avatar

omneon

  • 6 ноября 2009, 19:26
+
0
ну в ошибке как бы и ответ — package architecture (i386) does not match system (amd64)

вы ставите пакет под 32битную систему, а у вас 64битная стоит. соответственно надо брать пакет nginx_0.7.62-3_amd64.deb (примерно так называцо должно)
avatar

ASovetov

  • 7 ноября 2009, 12:00
+
0
А что означает такое:

dpkg: dependency problems prevent configuration of nginx:
nginx depends on libpcre3 (>= 7.7); however:
Version of libpcre3 on system is 7.6-2.1ubuntu1.
dpkg: error processing nginx (--install):
dependency problems — leaving unconfigured
Errors were encountered while processing:
nginx

Какую версию мне в итоге ставить?:/
avatar

omneon

  • 7 ноября 2009, 13:03
+
0
Уже поставил libpcre3_7.8-3_amd64.deb для архитектуры AMD64, после этого попытался распаковать нгинкс, все гладко, без ошибок, но в папках так ничего и не появилось, т.е. он просто не установился… странно все это…
avatar

omneon

  • 7 ноября 2009, 13:21
+
0
С нгинкс справился поставив все в нужном порядке, сначала установил libpcre3_7.8-3_amd64.deb, затем нгинкс. Теперь новая проблема. Phpmyadmin показывает 404 ошибку при заходе на локалхост. Какие-то дополнительные действия (кроме тех, что в статье) производить нужно, чтобы именно запустить phpmyadmin?
avatar

omneon

  • 7 ноября 2009, 19:03
+
0
у майадмина адрес locahost/phpmyadmin
avatar

ASovetov

  • 8 ноября 2009, 12:06
+
0
Проблема в том, что после смены портов на 81 и рестарта nginx, phpmyadmin перестает работать и выдает ошибку 404 NotFound/ nginx/0.7.62
На более ранних этапах phpmyadmin работает вполне корректно! Может что-то в его конфигах прописать? Судя по всему, его пытается обработать нгинкс.
avatar

omneon

  • 8 ноября 2009, 19:11
+
0
Проблема в том, что после смены портов на 81 в ports.conf и рестарта nginx, phpmyadmin перестает работать и выдает ошибку 404 NotFound/ nginx/0.7.62
На более ранних этапах phpmyadmin работает вполне корректно!
Если вернуть 80е порты и тормознуть нгинкс, то phpmyadmin начинает нормально работать… Может что-то в его конфигах прописать? Судя по всему, его пытается обработать нгинкс.
avatar

omneon

  • 8 ноября 2009, 19:24
+
0
вы порты у nginx или у апача поменяли на 81?
avatar

ASovetov

  • 10 ноября 2009, 19:54
+
0
по инструкции у апача. да. что то где то нетак сделали значит. буквально пару дней назад на работе поднимал сервак по моей же инструкции этой. голый убунту сервер, + инструкция и руки. все работает.

PSинструкцию читал ибо сам забыл уже как половину настраивал…
avatar

ASovetov

  • 10 ноября 2009, 19:57
+
0
Сделал все как описано, захожу на сайт по IP — что то выдает 404 Not Found
nginx/0.7.63
avatar

yuri25

  • 10 ноября 2009, 16:59
+
0
Такая же петрушка заход по адресу IP и IP/phpmyadmin выдают 404 Not Found
nginx/0.7.63 Если заходить IP:81 и IP:81/phpmyadmin то все работает нормально. Подскажите в чем тут проблема.
avatar

yuri25

  • 10 ноября 2009, 19:16
+
0
Юрий выше и к вам относится.
avatar

ASovetov

  • 10 ноября 2009, 19:57
+
0
Готов рассмотреть предложения о настройке ваших серверов. Рас уж сами не справляетесь. Предложения в личку. Разумеецо с мотивацией меня =))
Время свободное — сб, вс и с 21:00 до «пока не усну» в рабочие дни.
avatar

ASovetov

  • 10 ноября 2009, 20:02
+
0
Спасибо за предложение! Уже сам разобрался:)
avatar

omneon

  • 11 ноября 2009, 18:33
+
0
Есть подозрительный момент! при создании новых виртуалхостов, разве конфиг апача для этого сайта надо писать в /etc/apache2/sites-available/мой_супер_домен.ру? Могу ошибаться, но помоему надо так: /etc/apache2/sites-enabled/мой_супер_домен.ру. Поправьте, если я не прав.
avatar

omneon

  • 11 ноября 2009, 18:37
+
0
Да, и какие права надо ставить на папку /var/www/mysuperdomain.ru?
avatar

omneon

  • 11 ноября 2009, 18:41
+
0
Да припиал что надо делать ссылку на конфиг в /etc/apache2/sites-enabled/
Просто прально держать конфиги в сайтс-эвейлабл, и делать ссылки на них уже в сайтс-энейблед.

на папку с сайтом вполне подойдут права 755 (внутри уже те права которые нужны вашим скриптам)
avatar

ASovetov

  • 12 ноября 2009, 13:04
+
0
Гуру, есть такой вопрос: настроил Nginx + Apache2 (по инструкции, все работает). На 8088 порт повесил демон мултиплексор, к которому обращаюсь через Ajax. Ajax требует, чтобы ip и порт оставались неизменными, соответственно хочу сделать перенаправление через nginx, но как это сделать сообразить не могу.
avatar

kon

  • 14 декабря 2009, 21:30
+
0
а зачем перенаправление делать? пусть аякс мимо Nginx'a так и прет на апач =)
Нжайн слушает то только 80й порт. Заставь аякс стучать на 81 прямо в апач. или я тебя нетак понял…

Если нужен проброс чегото средствами Нжайна сразу в апач то просто удали тип данных из списка в конфиге нжайна (там где jpg xml и прочее)
avatar

ASovetov

  • 17 декабря 2009, 01:30
+
0
Уважаемый гуру, установил nginx (0.6.36) на apache (2.2),
при отправке ajax post-запроса стал приходить ответ «502 Bad Gateway»,
в error.log nginx пишет:
recv() failed (104: Сonnection reset by peer) while sending to client...

в чем может быть причина?
avatar

intlex

  • 19 декабря 2009, 23:11
+
0
Настроил подобную связку у себя на серваке и честно говоря сайт грузится даже медленнее чем просто через индейца
avatar

kosm

  • 21 января 2010, 07:02
+
-1
плохо\криво настроил значит
avatar

ASovetov

  • 10 февраля 2010, 19:31
+
0
Нет, всё четко, только eaccelerator даёт ускорения, а связка индейца и энджин икс ни каких ускорений не дала ну по крайней мере на глаз. Последний даст какое либо ускорение если отдаётся много статики.
avatar

kosm

  • 10 февраля 2010, 19:45
+
0
ну тогда смотрите не на глаз а под нагрузкой. сколько хостов, хитов выдержит сервер до падения при просто апаче, и при связке как я описал.
Может у вас отдача упирается в канал или в какие ещё узкие места не связанные с сервером.
Ну и естественно если на сайте вобще нету статики то и толка ставить связку в таком формате нету =) тогда уже надо смотреть в сторону Nginx + php-fpm + mysql
avatar

ASovetov

  • 10 февраля 2010, 21:36
+
0
Хочется поставить сайт не в /var/www/ а в ~/www, home на отдельном разделе и поэтому если вдруг слетит ось то не хочется потерять сайты — какие могут быть подводные камни у этого решения?
avatar

ksevelyar

  • 6 февраля 2010, 19:26
+
0
Ммм… Думаю просто буду делать бэкап чем-нибудь.
avatar

ksevelyar

  • 6 февраля 2010, 20:11
+
0
нет проблемы поменять дислокацию для файлов сайта =)) все пути в конфигах ;-)
avatar

ASovetov

  • 10 февраля 2010, 19:32
+
0
Угу, уже разобрался :)
avatar

ksevelyar

  • 11 февраля 2010, 00:31
+
0
будут заморочки, спрашивай =)
avatar

ASovetov

  • 11 февраля 2010, 21:46
+
0
У меня эта связка прекрасно работала около полугода, но вот вчера после переезда хостера в новый датацентр что-то поломалось и не могу понять что пока.
nginx вдруг стал выдавать bad gateway, а через порт на котором был настроен апаче все отлично работает.
avatar

Rino

  • 25 февраля 2010, 22:39
+
0
ну это уже надо смотреть на дата центр и их настройки, может они порты заворачивают или ещё чего делают.
Если работало там но неработает тут и на сервере ничего не менялось, то проблема уже у датацентра (или особенность).
Линукс сам по себе конфиги не правит =)
avatar

ASovetov

  • 28 февраля 2010, 15:03
+
0
Добровремя :)
весь вечер голову ломаю… поставил все как тут описано
положил две папочки в каждой некий php-скрипт — захожу по адресу — папочки показывает а при переходе внутрь — «Вы собираетесь открыть файл, являющийся application/x-httpd-php» при этом phpmyadmin работает… как я понимаю в виртуал хостс чтото не так?
avatar

psyxodolby

  • 15 марта 2010, 22:28
+
0
у вас апачь не понимает что php файлы надо отдавать пхп в обработку.
смотрите конфиги
avatar

ASovetov

  • 19 марта 2010, 21:34
+
0
Проблема — перехожу на локалхост и везде пишет мне 403 ошибку
avatar

antivirdog

  • 16 августа 2010, 06:05
+
0
Поправил. Теперь еще одна проблема нгинкс не хочет обрабатывать данные сSS и остальное с мой_супер домен ру везде пишет эту ошибку в логах.010/09/22 20:33:56 [error] 2996#0: *19 open() "/var/www/домен/gallery/css/style.css" failed (2: No such file or directory), client: 10.49.34.101, server: домен, request: «GET /gallery/css/style.css HTTP/1.1», host: «мой супер домен.ru», referrer: «мой супер домен ру/gallery/index.php» прям х/з
avatar

antivirdog

  • 22 сентября 2010, 21:44
+
0
Усё. решено. в конфиг нгинкса самого надо просто добавить сайта адрес в самом низу :)
avatar

antivirdog

  • 22 сентября 2010, 22:12
+
0
Отличная статья, всё работает. Но! Не на таком сервере. Не знаю, как Вы заставили эту штуку кушать лишь 90 метров оперативки… У меня 256мб VPSка, как у Вас, но с дефолтным конфигом MySql просто не стартует! Я кое-как ужал ему всякие разные объёмы, но памяти хватает еле-еле, так что через два три клика по сайту вся память сжиралась либо Апачем, либо Мускулом и приходилось ребутать систему.
avatar

romartyn

  • 3 октября 2010, 00:39
+
0
Спасибо за статью.
У меня на тестовой машине с 10.04 все встало чудесно. А вот на сервере с 8.04 траблы. Ни в какую не хочет обрабатываться php файл. Он тупо загружается и все. И вставлял пути до модуля, и менял пути до папок. Серваку все равно. В чем может быть дело?
avatar

phaeton

  • 10 декабря 2010, 13:51
+
0
Автор респект ) все получилось!
Теперь встал вопрос о добавлении субдоменна и тут засел.
Вот конфиги (только субдомена):
/etc/apache2/sites-available/durisol.my-domen.ru

<VirtualHost *:81>
ServerName durisol.my-domen.ru
ServerAlias www.durisol.my-domen.ru
ServerAdmin webmaster@my-domen.ru
DocumentRoot /var/www/durisol.my-domen.ru/
<Directory />
Options FollowSymLinks
AllowOverride All

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all


ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/durisol.my-domen.ru-error.log
LogLevel warn
CustomLog /var/log/apache2/durisol.my-domen.ru-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


================================================================
/etc/nginx/sites-available/durisol.my-domen.ru
server {
listen 80;
server_name durisol.my-domen.ru;
access_log /var/log/nginx/durisol_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/durisol.my-domen.ru/;
index index.html index.php;
access_log off;
expires 30d;
}
location ~ /\.ht {
deny all;
}
location / {
proxy_pass 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;
}
}
==============================================================

Основной сайт работает (за исключением того, когда набираешь www.сайт.ру) с www. Ну это я позже буду смотреть. А по субдомену, ну вроде все верно сделал… что не так?
avatar

soldat

  • 6 января 2011, 08:46
+
0
Автор респект ) все получилось!
Теперь встал вопрос о добавлении субдоменна и тут засел.
Вот конфиги (только субдомена):
/etc/apache2/sites-available/durisol.my-domen.ru

<VirtualHost *:81>
ServerName durisol.my-domen.ru
ServerAlias www.durisol.my-domen.ru
ServerAdmin webmaster@my-domen.ru
DocumentRoot /var/www/durisol.my-domen.ru/
<Directory />
Options FollowSymLinks
AllowOverride All

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all


ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/durisol.my-domen.ru-error.log
LogLevel warn
CustomLog /var/log/apache2/durisol.my-domen.ru-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


================================================================
/etc/nginx/sites-available/durisol.my-domen.ru
server {
listen 80;
server_name durisol.my-domen.ru;
access_log /var/log/nginx/durisol_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/durisol.my-domen.ru/;
index index.html index.php;
access_log off;
expires 30d;
}
location ~ /\.ht {
deny all;
}
location / {
proxy_pass 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;
}
}
==============================================================

Основной сайт работает (за исключением того, когда набираешь www.сайт.ру) с www. Ну это я позже буду смотреть. А по субдомену, ну вроде все верно сделал… что не так?

Да, может кому пригодиться, я столкнулся при установке:
Если при установке nginx говорит:

dpkg -i nginx_0.8.53-2_i386.deb
(Чтение базы данных… на данный момент установлено 73548 файлов и каталогов.)
Подготовка к замене пакета nginx 0.8.53-2 (используется файл nginx_0.8.53-2_i386.deb)…
Распаковывается замена для пакета nginx…
dpkg: зависимости пакетов не позволяют настроить пакет nginx:
nginx зависит от libgeoip1 ( >= 1.4.7~beta6+dfsg), однако:
Версия libgeoip1 в системе 1.4.7~beta5+dfsg-1.
dpkg: не удалось обработать параметр nginx (--install):
проблемы зависимостей — оставляем не настроенным
Обрабатываются триггеры для ufw…
Обрабатываются триггеры для ureadahead…
Обрабатываются триггеры для man-db…
При обработке следующих пакетов произошли ошибки:
nginx

то делаем так, качаем новую версию:

wget ftp.ru.debian.org/debian/pool/main/g/geoip/libgeoip1_1.4.7~beta6+dfsg-1_i386.deb

ставим:
dpkg -i libgeoip1

далее ставим nginx:
dpkg —i nginx_*
avatar

soldat

  • 6 января 2011, 08:49
+
0
Спасибо огромное! Это лучшая статья по установке и настройке веб сервера которую я вообще когда либо видел (перелопатил кучу статей, это отняло очень много времени, а результат 0!).
По этой статье всё встало как родное с небольшими проблемками я справился с помощью яндекса ;) А именно:
1. Nginx не хотел скачиваться wget'ом (выдавал ошибку 404) решил проблему так:
sudo apt-get install nginx
2. Так и не разобрался как толком копировать тексты конфигов, я обычно редактирую файлы mcedit'ом, вставить из буфера можно нажав «SHIFT+ПРАВАЯ КНОПКА МЫШИ», но почему-то текст при этом
Вставляется
Какой-то
Лесенкой
Пришлось создавать конфиги на своём компьютере с помощью Notepad++ (обожаю эту программу), заливать на свой FTP, потом копировать на сервер так:
cd /tmp
wget mysite.ru/nginx.conf
sudo rm /etc/nginx/nginx.conf
sudo cp ./nginx.conf /etc/nginx/
немного геморно, но зато надёжно, к тому же конфигов не много.
3. eAccelerator выдавал ошибку (я слабо разбираюсь в программировании, но помоему он говорил что какой-то функции не хватает параметров), решил так:
вместо wget bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
я скачал более новую версию:
wget bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6-rc1.tar.bz2

Надеюсь мои замечания будут кому нибудь полезны, всё вышеперечисленное проделывал на VDS от Amazon Web Servises, версия Линуха:
root@ip-10-195-223-223:/etc/nginx# uname -a
Linux ip-10-195-223-223 2.6.32-309-ec2 #18-Ubuntu SMP Mon Oct 18 21:00:20 UTC 2010 i686 GNU/Linux

Автору статьи ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО, всё действительно очень грамотно описано и прекрасно работает ))))
avatar

avsv

  • 1 февраля 2011, 21:42
+
0
кстати а почему в webmin нет nginx? как добавить?
avatar

Aurochs

  • 17 сентября 2011, 11:10
+
0
Автор, тебе моя вечная благодарность. Я поднял свой сервер у себя дома. В целях экономии и расширения своих знаний, из старого компа на ubuntu-serever (Celeron, 1ггц, 512 мб) на нем кроме сайта на прожорливом движке wordpress, стоят еще cs 1.6 сервер и half-life, teamspeak 3, и samp. Я думал будет жутко тормозить все сервера, но линукс это чудо! все работало хорошо, вот только сайт бывало долго грузился когда люди переполняли игровые сервера бывало грузил аж 30 секунд! Потом решил сменить серв на новый двух ядерник, но спустя месяц он сгорел, 2 дня назад кстати )) Опять поставил старый и решил настроить серв по вашей статье, запустил все сервера, люди сразу начали играть, даже переполнять их )) и тут к моему удивлению сайт загрузился за 3 секунды! при том что игровые сервера полные, я был в шоке, Мощный двухядерник грузил так-же, а тут какой-то дохлый celeron загрузил так-же!
Спасибо вам! Может мне написать статью как осуществить на сервере много доменов, и поддоменов. Я сразу все понял и все получилось! Спасибо
avatar

max92

  • 11 декабря 2011, 20:45
+
0
Делаем ссылку на наш файл в папке /etc/apache2/sites-enabled/


Вроде как и простой шаг, но как это сделать?
avatar

bizi

  • 4 января 2012, 13:48
+
0
bizi, ln :)
Отличное руководство. Просто нет слов. Спасибо уважаемый))
avatar

nemish

  • 4 февраля 2012, 05:39
+
0
Насчет 90мб отперативной памяти мягко говоря — пиз… шь. После установки php, apache, mysql и webmin уже занимает:
256 MB total, 162.26 MB used
Сказки у вас тут расписаны.
avatar

legend717

  • 4 февраля 2012, 15:25
+
0
А после вашей инструкции (настройки), с вкл. nginx, memc., eacc., итого:
256 MB total, 206.87 MB used
avatar

legend717

  • 5 февраля 2012, 12:21
+
0
narod ya vso eto pomimayu klass++ na zachem nginx+apache.??razve ne mojna tolka apach!?
avatar

boyboy61

  • 6 февраля 2012, 12:26
+
0
Здравствуйте, возникла проблема.

Установил

wget ftp.de.debian.org/debian/pool/main/n/nginx/nginx_0.7.67-3+squeeze2_i386.deb
dpkg -i nginx_*
aptitude install libapache2-mod-rpaf

В папке /usr/local/etc нет папки nginx

Пробовал по другому

apt-get install nginx (1.1.19_all.deb)

Проблема осталась

Что делать?

avatar

koks

  • 29 апреля 2012, 10:57
+
0
а в другом месте? например не в /usr/local а просто /etc ;)
avatar

antivirdog

  • 2 мая 2012, 01:54
+
0
Просто в /etc есть, а при чём тогда /usr/local?
avatar

koks

  • 5 мая 2012, 17:23
+
0
ну нету тама ничавось кроме пустоты. Если я не ошибаюсь то тут уже дело в изначальной разметке когда ставится целевая ОС
avatar

antivirdog

  • 5 мая 2012, 22:37
+
0
доброго времени суток.
после установки по сие мануалу возникла проблема, которую как то решили выше, но я так и не понял как, а она следующая:
при переходе IP/phpmyadmin или другую любую директорию на 80 порте- 404 ошибка.
на 81 порте все сайты работают.
/etc/apache2/sites-available/default

<VirtualHost *:81>
        ServerAdmin webmaster@outplay

        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>


/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/*;

}


/etc/nginx/sites-enabled/default

server {
listen 80;
server_name anitrue;
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/;
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;
}
} 

avatar

outplay

  • 29 апреля 2012, 19:17
+
0
Здравствуйте. Такая беда:
два компа в сетке, на 1м апач.

Со 2го компа при переходе ip(1)/mysite заменяет в адресной строке на localhost/mysite и соответственно никуда не переходит.
Причём переход ip(1)/phpmyadmin работает, и когда снаружи в роутер стучишься по реальнику realip/mysite тоже работает.
avatar

koks

  • 7 мая 2012, 21:02
+
0
Всем доброго. поможите поправить.

server {
listen 80;
server_name www.hostname.ru hostname.ru;
error_log /var/log/nginx/hostname-error.log;

location / {
limit_rate_after 10m;
limit_rate 300k;
proxy_pass www.hostname.ru; #46.61.151.250;
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 default; #off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
#fastcgi_cache_key "$server_addr:$server_port$request_uri";
}

# caching this types
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|html|avi|mp4|mkv|flv|)$ {
proxy_cache cache;
proxy_pass www.hostname.ru; #46.61.151.250;
}
location /video/ {
mp4;
mp4_buffer_size 10m;
mp4_max_buffer_size 50m;
}
location ~ \.flv$ {
flv;
}
}

user nginx;
worker_processes 4;
worker_rlimit_nofile 10240;

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;
#tcp_nopush on;

keepalive_timeout 65;

gzip on;
proxy_cache_valid 200 301 302 304 4h;
proxy_cache_valid 404 1m;
proxy_cache_valid any 15m;
proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=cache:1024m inactive=3d max_size=300G;
proxy_temp_path /var/lib/nginx/proxy 1 2;
proxy_ignore_headers Expires Cache-Control;
proxy_cache_use_stale error timeout invalid_header http_502;
proxy_cache_bypass $cookie_session;
proxy_no_cache $cookie_session;

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

Все работает, но webfile.ru/6278870 вот такая фигня. но главная страница нормально показывается. подскажите где ошибка?
avatar

billi

  • 20 декабря 2012, 15:32
+
0
Сделал все как в инструкции, хость запустил, все работает, только один вопрос: когда захожу на свой хост по ип, он одновременно выдает весь код нескольких сайтов, получаеться каша — сами понимаете.
Я нуб в админском деле, подскажите как зайти на этот на конкретный домен
допустим 95,168,25,125/name.ru 95,168,25,125:80/name.ru (апач ругаеться о том что ресурса не существует) и так далее, как зайти на один из виртуальных хостов?
если вписываю айпи к примеру 95,168,25,125 то сервак выплёвывает весь код всех доменов.
avatar

AndyTitan

  • 2 июня 2013, 11:35
+
0
Вы виртуал хосты то настроили? домены привязали?
avatar

ASovetov

  • 3 июня 2013, 21:33
+
0
Стоит nginx+apach2. Цель — 4 сайта. 2 смотрят в инет, 2(тестовых) в локаль. у меня вопрос по файлу ports.conf — нормальна ли такая конфигурация
NameVirtualHost site1
Listen IP_WAN:88
NameVirtualHost site2
Listen IP_LAN:89
NameVirtualHost site3
Listen IP_WAN:90
NameVirtualHost site4
Listen IP_LAN:91

Или это все чушь и нужно все на один порт типа
NameVirtualHost *
Listen *:8080
а уже в самом nginx указывать внешний или внутренний IP?
avatar

trum

  • 14 июня 2013, 17:34
+
0
Чуш конечно. Энжайн на 80й порт и конфиг его трогать не надо.
Апачь на 81

А сайты свои рулите уже проще. два внешних домена вяжите подконфигами апача и нжайна, в доменах достаточно сделать запись A с вашим айпишнегом.
А два внутренних сайта самое простое закинуть в hosts завернуть на локаль ну и также как внешние домены поднять в подконфигах апача и нжайна.
Или внутренние сайты не локально а в локальную сеть пускать надо? тогда надо днс сервер городить в локалку как вариант. или на всех машинах в локалке в хостс вписать ваши локальные домены. ну как то так. Обрисуйте цель подробнее — возможно я не правильно понял что.
avatar

ASovetov

  • 17 июня 2013, 16:33
+
0
да, все верно 2 внешних сайта это, эээм, просто сайты фирмы
а вот 2 других — это для локалки — тест и разработка
вот днс сейчас и мучаю, чтоб без прописи в hosts
пока что добился того, что на серве nslookup адекватно реагирует на локальные сайты, а вот с клиенской машины не видит серв в качестве днс сервера. возможно, что я пока не прописывал его как кеширущий, а только прямую зону указал на локаль. буду пробовать.
avatar

trum

  • 19 июня 2013, 12:47
+
0
Нет тебе его как кеширующий надо ставить конечно.
avatar

ASovetov

  • 20 июня 2013, 10:06
+
0
спасибо большое, во всем разобрался.
avatar

trum

  • 21 июня 2013, 11:38
+
0
wget http://ftp.de.debian.org/debian/pool/main/n/nginx/nginx_0.7.62-1_i386.deb
dpkg -i nginx_*
aptitude install libapache2-mod-rpaf

такого файла на фтп нету что вместо етого надо поставить?
avatar

Dima19

  • 13 октября 2013, 14:52
+
0
думаю что если зайти на фтп броузером и поглядеть то увидим что последняя версия эта — ftp.de.debian.org/debian/pool/main/n/nginx/nginx_1.4.3-1_all.deb
avatar

admin

  • 13 октября 2013, 22:37
+
0
Проблема на этом пункте
Настраиваем gzip сжатие для nginx. И сам nginx (worker_processes 1; ставим равному количеству ядер в процессоре). Открываем конфиг:

nano /usr/local/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/*;
}
При сохранении пишет

[ Ошибка записи /usr/local/etc/nginx/nginx.conf: Нет такого файла или каталога ]
использую права root'a

avatar

Dima19

  • 24 октября 2013, 16:08
+
0
ну наверно как то не так делаете что-то. Должно работать. но погляжу в ближайшие дни на свежей убунте может там поменялось что…
avatar

admin

  • 8 января 2014, 12:39
+
0
Я так ради интереса — что сейчас лучше использовать вместо eAccelerator? xCache?
avatar

antivirdog

  • 19 ноября 2013, 21:00
+
0
Да нет особой разницы, 9го января лечу в камбоджу на месяц, наконец то будет время написать о своих свежих изысканиях в плане серверов и настройки. а так я использую иакселератор и мне нравится.
avatar

admin

  • 8 января 2014, 12:37
+
0
хмм, чудеса какие-то не перенаправляет в целевой каталог
avatar

antivirdog

  • 26 февраля 2015, 04:08
+
0
Что? Я сам недавно вспомнил про свою удачную сборку из этой темы и поднимал вдс по этой инструкции. Все пашет =) ну с учетом поправок которые я так и не вынес из коментариев в тело статьй. Может будет время напишу еще пару удачных реализаций под современную уже убунту.
avatar

admin

  • 13 апреля 2015, 18:37
+
0
Ждем-с
avatar

antivirdog

  • 14 апреля 2015, 22:19

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.