LinuxForum.Fans
Тема

Посоветуйте инструкцию по установке и настройке Bind и Nginx

Автор: Nigelist 25 сообщений 8258 просмотров
#330150

По ip открывается что-нибудь? Размести файл index.html с любым содержанием в корне (/var/www/localhost). Только добавь в конфиг

text
index index.php  index.html;

И покажи nslookup/dig domain.loc
Вот у меня:

text
# dig vdebian.home.lan

; <<>> DiG 9.9.2-P2 <<>> vdebian.home.lan ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55478 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;vdebian.home.lan. IN A

;; ANSWER SECTION: vdebian.home.lan. 300 IN A 192.168.0.120

;; Query time: 0 msec ;; SERVER: 192.168.0.1#53(192.168.0.1) ;; WHEN: Mon Jul 29 00:25:02 2013 ;; MSG SIZE rcvd: 61

У меня всё прекрасно работает вот с таким конфигом:

text
server {
   server_name localhost;
   listen 192.168.0.120:80;
   listen 127.0.0.1:80;
   root /var/www/localhost;
   index index.php;

location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; if (!-f $document_root$fastcgi_script_name) { return 404; } # fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }

192.168.0.120 - это виртуалка, указыват имя сервера и не надо, если локальные адреса резолвит локальный днс-сервер.
Те я обращаться могу и по ip и http://vdebian.home.lan/
Смотри не перепутал что-нибудь:

text
# ls -la /var/www/localhost
text
# ps aux | grep php
root      4354  0.0  0.4 132708  4864 ?        Ss   04:29   0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)      
www-data  4356  0.0  1.1 137224 11976 ?        S    04:29   0:00 php-fpm: pool www                                         
www-data  4357  0.0  1.1 137224 11996 ?        S    04:29   0:00 php-fpm: pool www     
# ps aux | grep nginx
root      4606  0.0  0.1  76280  1304 ?        Ss   04:36   0:00 nginx: master process /usr/sbin/nginx
www-data  4607  0.0  0.1  76636  1968 ?        S    04:36   0:00 nginx: worker process
www-data  4608  0.0  0.1  76636  1968 ?        S    04:36   0:00 nginx: worker process
www-data  4609  0.0  0.1  76636  1968 ?        S    04:36   0:00 nginx: worker process
www-data  4610  0.0  0.2  76904  2416 ?        S    04:36   0:00 nginx: worker process
#330163
"zenon⇓" написал:
По ip открывается что-нибудь? Размести файл index.html с любым содержанием в корне (/var/www/localhost). Только добавь в конфиг
По ip так же открывается пустая страница. Сделал сим-линк:
[console]ln -s /usr/share/nginx/html/index.html /var/www/localhost/index.html[/console]

Вот содержимое localhost:
[console]ls -l /var/www/localhost
итого 4
lrwxrwxrwx 1 www-data www-data 32 Июл 29 08:53 index.html -> /usr/share/nginx/html/index.html
-rw-r----- 1 www-data www-data 20 Июл 28 21:53 index.php[/console]

Расположение index.html тоже не помогло = пустая страница.

"zenon⇓" написал:
И покажи nslookup/dig domain.loc

Вот:
[console]dig 192.168.1.33 domain.loc

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> 192.168.1.33 domain.loc
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 59507
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;192.168.1.33. IN A

;; AUTHORITY SECTION:
. 10800 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2013072901 1800 900 604800 86400

;; Query time: 134 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Jul 30 10:50:22 2013
;; MSG SIZE rcvd: 105

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64617
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;domain.loc. IN A

;; ANSWER SECTION:
domain.loc. 10800 IN A 192.168.1.33

;; Query time: 1 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Jul 30 10:50:22 2013
;; MSG SIZE rcvd: 44[/console]

вот nslookup:
[console]nslookup domain.loc
Server: 192.168.1.1
Address: 192.168.1.1#53

Non-authoritative answer:
Name: domain.loc
Address: 192.168.1.33[/console]

Все процессы запущены от www-data:
[console]ps aux | grep www-data
www-data 1979 0.0 0.0 10472 396 ? Ss 08:32 0:00 /usr/sbin/fcgiwrap
www-data 3250 0.0 0.0 31256 1636 ? S 08:48 0:00 nginx: worker process
www-data 3251 0.0 0.0 31256 1636 ? S 08:48 0:00 nginx: worker process
www-data 3253 0.0 0.0 31520 2024 ? S 08:48 0:00 nginx: worker process
www-data 3254 0.0 0.0 31256 1372 ? S 08:48 0:00 nginx: worker process
www-data 3292 0.0 0.2 137236 4864 ? S 08:48 0:00 php-fpm: pool www
www-data 3293 0.0 0.2 137236 4864 ? S 08:48 0:00 php-fpm: pool www
root 3331 0.0 0.0 7856 844 pts/0 S+ 09:03 0:00 grep www-data[/console]

#330299

Добавь после server_name (не обязательно) пути к логам и смотри что происходит.
В nginx можно указать глобальные лог файлы и "локальные" для каждого сайта, точнее логи можно в каждой секции с фигурными скобками обозначать, соответственно будет и реакция.

text
server {
   server_name localhost;
   access_log /var/log/nginx.localhost.access.log main;
   error_log  /var/log/nginx.localhost.error.log warn;
   listen 192.168.0.120:80;
   listen 127.0.0.1:80;
   root /var/www/localhost;
   index index.html index.htm;
   ...
   ...
#346818

Решил вернутся к нерешенному вопросу и поднять старую тему. Всё никак не получается корректно заполнить localhost.conf:

text
/etc/nginx/conf.d/localhost.conf

В общем дефолтный работает, а ваш не хочет работать:

text
server {
   server_name localhost;
   # listen 192.168.0.120:80;
   listen 127.0.0.1:80;
   root /var/www/localhost;
   index index.php;

location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; if (!-f $document_root$fastcgi_script_name) { return 404; } # fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }

На данный момент выдает, сервер не найден. В различных вариантах localhost.conf выдает страницу: либо 404, либо 50*, либо файл не найден.
P.S.

zenon написал:
В include как правило присутствует конфигурация сайта по умолчанию, который как раз и выводит надпись "Welcome to nginx!" при обращении к localhost (127.0.0.1):
Debian/Ubuntu - /etc/nginx/sites-enabled/default
Gentoo/CentOS - /etc/nginx/conf.d/default
Больше этот файл не нужен - удалите его.

В Debian конфиг лежит в:

text
/etc/nginx/conf.d/
#376769

Вроде настроил Bind9, некоторое время работало отлично. Но, пару дней назад перестал работать адрес локального сайта. Хотя если перейти по IP. Сайт работает отлично. Пинг на домен:
[console]ping domain.loc

Обмен пакетами с domain.loc[::1] с 32 байтами данных:
Ответ от ::1: время<1мс
Ответ от ::1: время<1мс
Ответ от ::1: время<1мс
Ответ от ::1: время<1мс

Статистика Ping для ::1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек[/console]
Вот содержимое файла зоны прямого просмотра:
[console];
; domain.loc
;
$TTL 604800
@ IN SOA ns1.domain.loc. root.domain.loc. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.domain.loc.
@ IN A 192.168.1.200

ps1 IN A 192.168.1.200
s0 IN A 192.168.1.55
s0 IN A 192.168.1.115

domain.loc. IN A 192.168.1.200
domain.loc. IN MX mail.domain.loc.

www IN CNAME domain.loc.
mail IN A 192.168.1.200
ftp IN CNAME domain.loc.[/console]

Войдите или зарегистрируйтесь, чтобы ответить.