Skocz do zawartości

Web Hosting Talk

  • progreso.pl

    Partner technologiczny

    Upraszczamy to, co inni starają się komplikować. Prosto, pewnie, przyjaźnie - tak robimy hosting!
  • Kei.pl

    Partner technologiczny

    Kei.pl działa na polskim rynku internetowym od 2000 roku. Obecnie na blisko 300 serwerach w Centrum Danych Kei.pl znajduje się kilkadziesiąt tysięcy stron WWW.
  • S-NET.info

    Partner technologiczny

    S-NET to dostawca usług dla biznesu. Najważniejsze usługi świadczone przez firmę to usługi Centrum Danych, dostęp do Internetu, transmisja danych oraz tranzyt do różnych operatorów.
  • Sprint Data Center

    Partner technologiczny

    Sprint Data Center to jedyne w Polsce północno-wschodniej i jednocześnie jedno z najnowocześniejszych w kraju centrum przechowywania i przetwarzania danych.

 

Subdomena a rekordy DNS i Nginx


6 odpowiedzi na ten temat

Subdomena a rekordy DNS i Nginx

#1 Glibnes

    Często na forum

  • Użytkownicy
  • 58 postów

Napisany 02 grudzień 2011 - 23:59

Witam,

mam pewien problem z ustawieniem subdomeny na nginxie.
Używam obecnie PowerDNSa, zarządzam nim przez prosty PowerAdmin.
Dodałem rekord CNAME subdomena.domena.pl w zone domena.pl
Ustawiłem następujący config dla nginxa:
server {
	listen  80;
	server_name domena.pl;
	root /var/www/default/htdocs;
  
	access_log  /var/www/default/logs/access.log myown;
	error_log /var/www/default/logs/error.log;
	index index.php index.html index.htm;
	  
	location ~ .php$ {	
		try_files $uri $uri/ =404;
			  
		fastcgi_split_path_info ^(.+\.php)(.*)$;
		fastcgi_pass   php_fpm;
		fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include /etc/nginx/fastcgi_params;
		fastcgi_param  QUERY_STRING	 $query_string;
		fastcgi_param  REQUEST_METHOD   $request_method;
		fastcgi_param  CONTENT_TYPE	 $content_type;
		fastcgi_param  CONTENT_LENGTH   $content_length;
	}
}

server {
	listen  80;
	server_name   ~^(.*)\.domena\.pl$;
	#if directory doesn't exist
	if (!-d /var/www/$1) {
		rewrite . http://domena.pl/ redirect;
	}

	# Sets the correct root
	root /var/www/$1/htdocs;
}
server {
	listen 80;
	server_name www.domena.pl;
	rewrite ^/(.*) http://domena.pl/$1 permanent;
}
Wg. autora powyższego configu (nie, nie jest mój, jedynie dostosowałem go do swoich potrzeb) powinien on działać dla każdej subdomeny.

Jednak u mnie po prostu strona się nie wczytuje ("Nie odnaleziono serwera" - Firefox), a domena główna działa bez problemu. Co zrobiłem źle?

Ten post był edytowany przez Glibnes dnia: 03 grudzień 2011 - 00:13


#2 Miłosz

    Weteran WHT

  • Moderatorzy
  • PipPipPipPipPipPipPipPip
  • 2479 postów
  • Skąd:Bydgoszcz/Tuchola
  • Firma:Sys-Com
  • Imię:Miłosz
  • Nazwisko:Oller

Napisany 03 grudzień 2011 - 00:59

A to czytałeś? http://www.webhostin...-waszych-domen/

I powiedz jak mamy Ci pomóc nie znając domeny? Pewnie masz jakiś błąd w konfiguracji dnsów.
Miłosz GG: 3312894 JID: ollerm@jabber.org
Konfiguracja i administracja serwerami dedykowanymi/RPS/VPS - Faktura VAT
Idealny hosting | Domeny | Hosting dla Firm

#3 Glibnes

    Często na forum

  • Użytkownicy
  • 58 postów

Napisany 03 grudzień 2011 - 09:56

Zobacz postMiłosz, o 03 grudzień 2011 - 00:59, powiedział:

A to czytałeś? http://www.webhostin...-waszych-domen/

I powiedz jak mamy Ci pomóc nie znając domeny? Pewnie masz jakiś błąd w konfiguracji dnsów.
Przepraszam, zapomniałem o tym: battlespace.pl (domena z sygnaturki).
Po przeładowaniu dnsów subdomena uni3 wskazuje na stronę główną, wg. configa nginxa powinna wskazywać na katalog z tą subdomeną (więc pewnie to problem z dnsem).

Ten post był edytowany przez Glibnes dnia: 03 grudzień 2011 - 10:06


#4 romix

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 211 postów
  • Skąd:Ruda Śląska
  • Firma:Biznes-Host.pl sp. z o.o.

Napisany 03 grudzień 2011 - 10:09

Zobacz postGlibnes, o 03 grudzień 2011 - 09:56, powiedział:

Przepraszam, zapomniałem o tym: battlespace.pl (domena z sygnaturki).
Po przeładowaniu dnsów subdomena uni3 wskazuje na stronę główną, wg. configa nginxa powinna wskazywać na katalog z tą subdomeną (więc pewnie to problem z dnsem).

Dlaczego problem z DNSem? skoro subdomena wskazuje na prawidłowe IP to jest dobrze skonfigurowana.
Wklej Twoją konfiguracje, może głupia literówka po prostu.

BTW reload konfiguracji nginxa nic nie wypluwa?

Ten post był edytowany przez romix dnia: 03 grudzień 2011 - 10:11


#5 Glibnes

    Często na forum

  • Użytkownicy
  • 58 postów

Napisany 03 grudzień 2011 - 10:32

Oryginalny config (restart nginxa nic nie dał):
server {
	listen  80;
	server_name battlespace.pl;
	root /var/www/default/htdocs;
  
	access_log  /var/www/default/logs/access.log myown;
	error_log /var/www/default/logs/error.log;
	index index.php index.html index.htm;
  
	# --- Don't log Images, JavaScript & CSS ---
	location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
		access_log  off;
	}
  
location / {	  
  try_files $uri $uri/ =404;
}
  
	location ~ .php$ {	
		try_files $uri $uri/ =404;
			  
		fastcgi_split_path_info ^(.+\.php)(.*)$;
		fastcgi_pass   php_fpm;
		fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include /etc/nginx/fastcgi_params;
		fastcgi_param  QUERY_STRING	 $query_string;
		fastcgi_param  REQUEST_METHOD   $request_method;
		fastcgi_param  CONTENT_TYPE	 $content_type;
		fastcgi_param  CONTENT_LENGTH   $content_length;
	}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one

location ~ /\.ht {
  deny all;
}
}

server {
	listen  80;
	server_name   ~^(.*)\.battlespace\.pl$;
	#if directory doesn't exist
	if (!-d /var/www/$1) {
		rewrite . http://battlespace.pl/ redirect;
	}

	# Sets the correct root
	root /var/www/$1/htdocs;
}
server {
	listen 80;
	server_name www.battlespace.pl;
	rewrite ^/(.*) http://battlespace.pl/$1 permanent;
}

Ten post był edytowany przez Glibnes dnia: 03 grudzień 2011 - 10:33


#6 romix

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 211 postów
  • Skąd:Ruda Śląska
  • Firma:Biznes-Host.pl sp. z o.o.

Napisany 03 grudzień 2011 - 10:45

Spróbuj:

location / {
  root   /var/www/$1/htdocs;
}

Jeśli nie zadziała to problem jest we wpisie:
server_name   ~^(.*)\.battlespace\.pl$;

Nie znam składni żeby Ci pomóc, ale jak sposób wyżej nie zadziała to zerknę do dokumentacji i przeanalizuje jeszcze raz.

#7 Glibnes

    Często na forum

  • Użytkownicy
  • 58 postów

Napisany 03 grudzień 2011 - 11:14

Zobacz postromix, o 03 grudzień 2011 - 10:45, powiedział:

Spróbuj:
 location / { root /var/www/$1/htdocs; } 
Jeśli nie zadziała to problem jest we wpisie:
 server_name ~^(.*)\.battlespace\.pl$; 
Nie znam składni żeby Ci pomóc, ale jak sposób wyżej nie zadziała to zerknę do dokumentacji i przeanalizuje jeszcze raz.

Wywaliłem ten kod od multisubdomen, wstawiłem osobny wpis dla uni3 i zadziałało, więc masz rację - problem leży w tej części kodu.

Rozwiązałem problem:

server {
    listen  80;
    server_name ~^(?<subdomain>.+)\.battlespace\.pl$;
    #if directory doesn't exist
    if (!-d /var/www/$subdomain.battlespace.pl) {
	    rewrite . http://battlespace.pl redirect;
    }

    # Sets the correct root
    root /var/www/$subdomain.battlespace.pl/htdocs;
} 






1 Użytkowników czyta ten temat

0 użytkowników, 1 gości, 0 anonimowych użytkowników