Welcome! Log In Create A New Profile

Advanced

Не включается виртуальный хост

Posted by Woin 
Не включается виртуальный хост
August 28, 2011 01:05PM
Всем добрый вечер!
В качестве ОС используется Debian 6.0.2.1 i386
Собрал nginx-1.0.5 по howto http://howitmake.ru/blog/ubuntu/43.html#comment146 (мог бы поставить из репозитория, но не меня устроила версия nginx, да и обновлять не хотелось)

Все работает, тестовую страничку выдает. Но как включить виртуальный хост?

ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled
Делаю стоп\старт, но не помогает. (в описании вир. хоста все указано верно)
Т.е. все также работает дефолтный хост по /usr/local/nginx/html

Может где лог ошибки есть помимо (/usrl/local/nginx/logs - тут ничего по поводу ошибок вирт. хоста не пишется)?
Вообще как при сборке сделать чтобы все файлы nginx находились в /etc/nginx? (т.е. чтобы не бегать и смотреть в /usrl/local/nginx)
Re: Не включается виртуальный хост
October 05, 2011 02:36PM
Всем здравствуйте. Присоединяюсь к выше написаному посту. Такая же проблема, ни как не могу настроить виртуальные хосты, что бы http://site1.ru и http://site2.ru по отдельности работали. Установил nginx 1.0.8 в папку /usr/local/nginx сайты поставил в /home/www/site1.ru и рядом site2.ru. , пробовал по разному, но никакого результата. В данном мануале http://sysoev.ru/nginx/docs/virtual_hosts.html тоже не получается, вообще сайт перестает работать. Помогите разобраться.
P.S. Извиняюсь если невнятно изложил
Re: Не включается виртуальный хост
October 06, 2011 04:43AM
2Woin: Вы уверены, что nginx перезапускается?
2All: Конфиги в студию
Re: Не включается виртуальный хост
October 06, 2011 05:15AM
user www-data www-data;
worker_processes 2;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;
client_max_body_size 10m;

#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 logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root /home/www/site1.ru;
index index.php index.html index.htm;
}


#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /home/www/site1.ru;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/site1.ru$fastcgi_script_name;
include fastcgi_params;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
server {
listen 8000;
listen site2.ru:8080;
server_name site2.ru;

location / {
root /home/www/site2.ru;
index index.html index.htm;
}
}


# HTTPS server
#
#server {
# listen 443;
# server_name localhost;

# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

# ssl_session_timeout 5m;

# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;

# location / {
# root html;
# index index.html index.htm;
# }
#}

}


Перезапускается без проблем:
:~# /etc/init.d/nginx stop
Stopping nginx: nginx.
:~# /etc/init.d/nginx start
Starting nginx: nginx.
:~#

Набираю в браузере http://site1.ru и после http://site2.ru все равно показывается site1.ru



Edited 1 time(s). Last edit at 10/06/2011 05:18AM by valdemarin.
Re: Не включается виртуальный хост
October 06, 2011 06:52AM
делайте для каждого site.ru
свой конфиг vservers/stsite2.ru.conf и vservers/stsite1.ru.conf
далее
в основном nginx.conf
server {
listen www.nginx:80;
location / {
root /sites/html/;

}
include /etc/nginx/vservers/*.conf;
}
как то далее /usr/sbin/nginx -c /etc/nginx/nginx.conf
Re: Не включается виртуальный хост
October 06, 2011 07:45AM
я ставил nginx из исходников, папки /etc/nginx нет, вроде все в /usr/local/nginx


поправьте пожалуйста конф. вообще запутался, nginx запускается а сайты вообще перестали открываться как-будто их нет вообще:

user www-data www-data;
worker_processes 2;

events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;
client_max_body_size 10m;




sendfile on;

keepalive_timeout 65;

server {
listen localhost:80;
location / {
root /home/www/;
}

include /usr/local/nginx/vservers/*.conf;
}


}


конфиги с виртуальными хостами сделал:


server {
listen 80;
server_name site1.ru;

location / {
root /home/www/site1.ru;
index index.php index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}


location ~ \.php$ {
root /home/www/site1.ru;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/site1.ru$fastcgi_script_name;
include fastcgi_params;
}
}
Re: Не включается виртуальный хост
October 06, 2011 05:48PM
2valdemarin: Такая практика не совсем верна, но, как говориться - на вкус и цвет. По мне, так правильней было бы размещать каталоги так:

/home/site1.ru/www/
/home/site1.ru/logs/
/home/site2.ru/www/
/home/site2.ru/logs/

У вас конфигурации доменов точно лежат в папке /usr/local/nginx/vservers/ и оканчиваются расширением conf?
Что происходит, когда в браузере вы открываете адрес http://site1.ru?
Что пишется при этом в логи по данному домену?
Re: Не включается виртуальный хост
October 07, 2011 03:33PM
конфиги такие

nginx.conf :

user www-data www-data;
worker_processes 2;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
location / {
root /home/www;
}
include /usr/local/nginx/vhost/*.conf;
}
}

конфиги хостов лежат /usr/local/nginx/vhost/

site1.conf :

server {
listen site1.ru:80;
server_name site1.ru www.site1.ru;
access_log logs/site1ru.access.log;
location / {
root /home/www/site1.ru/www;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root /home/www/site1.ru/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/site1.ru/www$fastcgi_script_name;
include fastcgi_params;
}
}

site2.conf аналогичен первому site1.conf
при запуске nginx ругается:

# /etc/init.d/nginx start
Starting nginx: nginx: [emerg] "server" directive is not allowed here in /usr/local/nginx/vhost/site1.conf:1

это на директиву server? разве она лишняя?

что ни так сделал? где ошибка зарыта? поправьте меня пожалуйста!.
Re: Не включается виртуальный хост
October 07, 2011 03:45PM
Все, ура! Заработала!
Просто в основном конфиге nginx.conf убрал секцию:

server {
listen 80;
location / {
root /home/www;
}

Всем огромное спасибо за помошь!!!

Nginx рулит!!!
Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 149
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready