1

Тема: Не работают виртуальные хосты в nginx freebsd

Здравствуйте! Поднял на FreeBSD NGinx + php-fpm, все работает, кроме виртуальных хостов. По домену виртуального хоста вместо открытия нужной директории, открывает директорию для стандартного сайта.

Конфиги:

Стандартный:

cat /usr/local/etc/nginx/nginx.conf
user www;
worker_processes 2;
pid /var/run/nginx.pid;
error_log /var/log/nginx/nginx-error.log warn;
events {
worker_connections 1024;
use kqueue;
}
http {
include mime.types;
default_type application/octet-stream;
# log options
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
# nginx options
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
server_tokens off;
# fastcgi
fastcgi_intercept_errors on;
# virtual hosting
include /usr/local/etc/nginx/vhosts/*;
# virtual server
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/nginx-access.log main;
# server root directory
location / {
root /usr/local/www/apache22/data/;
index index.php index.html index.htm;
}
location ~* /(var|lib|application)/.*$ {
return 403;
}
location ~* \.ini$ {
return 403;
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/www/apache22/data/$fastcgi_script_name;
include fastcgi_params;
}
}
}

И для виртуального хоста :

# virtual server
server {
listen 80;
server_name domain.com www.domain.com;
access_log /var/log/nginx/domain.com-access.log main;
# server root directory
location / {
root /usr/local/www/apache22/data/domain1;
index index.php index.html index.htm;
}
location ~* /(var|lib|application)/.*$ {
return 403;
}
location ~* \.ini$ {
return 403;
}
# php
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

2

Re: Не работают виртуальные хосты в nginx freebsd

у вас как минимум для виртуального хоста не хватает }. Это опечатка или так и есть? Ну т логи что говорят?

3 (18-01-2016 21:00:53 отредактировано q55434)

Re: Не работают виртуальные хосты в nginx freebsd

crash пишет:

у вас как минимум для виртуального хоста не хватает }. Это опечатка или так и есть? Ну т логи что говорят?

действительно не хватало. добавил, но чуда после перезапуска сервиса так и не произошло(

2016/01/18 19:58:53 [error] 14070#0: *1 open() "/usr/local/www/apache22/data/admin" failed (2: No such file or directory), client: ip, server: localhost, request: "GET /admin HTTP/1.1", host: "domain"

4

Re: Не работают виртуальные хосты в nginx freebsd

ну у вас ругается, что нет папки или файла. И проверьте вообще права доступа на папки для пользователя от чего имени nginx запускается. У меня такое было в apache, что открывался основной сайт, потому что доступа у пользователя к папкам где виртуальные хосты не было. Может аналогично и здесь.

5

Re: Не работают виртуальные хосты в nginx freebsd

crash пишет:

ну у вас ругается, что нет папки или файла. И проверьте вообще права доступа на папки для пользователя от чего имени nginx запускается. У меня такое было в apache, что открывался основной сайт, потому что доступа у пользователя к папкам где виртуальные хосты не было. Может аналогично и здесь.

все верно, потому как я пытаюсь открыть сайт domain.com/admin, которая как раз в data/domain.com/admin, т.е. если бы вхост сработал - меня бы пустило куда нужно.
доступы к папке с конфигом и сайту на всякий случай 777 прописал, не работает все равно

6

Re: Не работают виртуальные хосты в nginx freebsd

конфиг виртуального хоста в правильно место положили? А чего не хотите вынести папку виртуальных хостов в другое место, а не там где основной хост находится?

7

Re: Не работают виртуальные хосты в nginx freebsd

crash пишет:

конфиг виртуального хоста в правильно место положили? А чего не хотите вынести папку виртуальных хостов в другое место, а не там где основной хост находится?

да, у меня как раз так и стоит:
основной /usr/local/etc/nginx/
виртуальный /usr/local/etc/nginx/vhosts/

8

Re: Не работают виртуальные хосты в nginx freebsd

а как же это

root /usr/local/www/apache22/data/domain1;

и

/usr/local/www/apache22/data/admin

О, у вас похоже по настройкам апача идет еще. Или ошибаюсь?

9

Re: Не работают виртуальные хосты в nginx freebsd

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

10

Re: Не работают виртуальные хосты в nginx freebsd

Хорошо.