LINUX.ORG.RU
ФорумAdmin

Nginx Virtualhosts. Вопрос по виртуальным хостам.

 ,


0

1

Есть блог ghost, вот его конфиг, лежащий в sites-enabled:

server {
    listen 0.0.0.0:80;
    server_name blog.company.com;
    access_log /var/log/nginx/ghost.log;
    error_log /var/log/nginx/ghost.error.log;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:2368;
        proxy_redirect off;
    }
}

И есть еще конфиг сайта со статическим контентом:


 

server 
{
    server_name company.com;
  
    access_log /var/log/nginx/company.com.access.log;
  
        error_log /var/log/nginx/company.com.error.log;
  
    root /var/www/company.com/public_html;
  
    index index.php index.html index.htm;
  
    # use fastcgi for all php files
    location ~ \.php$
    {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
  
    # deny access to apache .htaccess files
    location ~ /\.ht
    {
        deny all;
    }
} 

server
{
    server_name quip.company.com;
#rewrite ^/(.*) http://dev.quip.company.com/$1 permanent;

    access_log /var/log/nginx/quip.company.com.access.log;

        error_log /var/log/nginx/quip.company.com.error.log;

    root /var/www/company.com/public_html/quip;

    index index.php index.html index.htm;

    # use fastcgi for all php files
    location ~ \.php$
    {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # deny access to apache .htaccess files
    location ~ /\.ht
    {
        deny all;
    }
}

# statements for each of your virtual hosts to this file


##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

server {
	#listen   80; ## listen for ipv4; this line is default and implied
	#listen   [::]:80 default ipv6only=on; ## listen for ipv6

	root /usr/share/nginx/www;
	index index.html index.htm;

	# Make site accessible from http://localhost/
	server_name localhost;

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to index.html
		try_files $uri $uri/ /index.html;
		# Uncomment to enable naxsi on this location
		# include /etc/nginx/naxsi.rules
	}

	location /doc/ {
		alias /usr/share/doc/;
		autoindex on;
		allow 127.0.0.1;
		deny all;
	}

	# Only for nginx-naxsi : process denied requests
	#location /RequestDenied {
		# For example, return an error code
		#return 418;
	#}

	#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 /usr/share/nginx/www;
	#}

	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
	#
	#location ~ \.php$ {
	#	fastcgi_split_path_info ^(.+\.php)(/.+)$;
	#	# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
	#
	#	# With php5-cgi alone:
	#	fastcgi_pass 127.0.0.1:9000;
	#	# With php5-fpm:
	#	fastcgi_pass unix:/var/run/php5-fpm.sock;
	#	fastcgi_index index.php;
	#	include fastcgi_params;
	#}

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

Все это висит на сервере с одним ip-адресом. Прямо сейчас, когда я перехожу на company.com, у меня открывается ghost блог, а адрес в строке адреса броузера: company.com т.е. то что должно открываться по адресу blog.company.com.

В общем, все правильно cделал вроде, а открывается неправильно.



Последнее исправление: dopedopedope (всего исправлений: 3)

listen не указан для остальных хостов

TDrive ★★★★★
()
Ответ на: комментарий от aeX1pu2b
listen 0.0.0.0:80;

Прописал, передернул nginx. Не помогло Так и открывается блог на адресе company.com, то, что должно открываться по адресу blog.company.com. Если честно я не пойму в чем магия?

Эта команда если не прописана, то подразумевается.

dopedopedope
() автор топика

Скинь для начала кеш своего бровзера. И проверь ещё раз.

beastie ★★★★★
()
Ответ на: комментарий от dopedopedope

listen 80; (не listen 0.0.0.0:80;)

добавь в первый конфиг

if ($host !~ ^(blog.company.com|http://www.blog.company.com)$ ) { return 444; }

у тебя company.com мачится не тем кофигом

aeX1pu2b
()
Ответ на: комментарий от aeX1pu2b

Лол, заработало!!! Я тюлень, забыл симлинк зарядить в sites-enabled!

dopedopedope
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.