Recent Topics

b2evo on nginx

Started by on Oct 08, 2010 – Contents updated: Oct 08, 2010

Oct 08, 2010 19:21    

Здравствуйте, это снова я.

Помогите правильно настроить нгинкс под сайт.

конфигурация такова:

нгинкс слушает все адреса с портом 80, виртуалхост слушает только один ип:80 и переадресовывает на тот же ип:8080

апач слушает все ипы на порте 8080, виртуалхост сайт слушает второй ип:8080, на который отправляет нгинкс

но в итоге в пхпмайадмин на первом ип не отображаются картинки, сайт доступен на обоих ип вместо одного, причем на в=первом ип он отображается вопросительными знаками, а должен быть только на втором.

поможете?

Oct 08, 2010 19:25

так, на первом ип больше сайт не отображается, я не прописал в виртуалхосте нгинкса ип - только порт. пофиксил.

но пхпмайадмин после авторизации перестал работать

Oct 08, 2010 19:27

еще никогда не может удалить кеш страниц, хотя права на папку 777

Oct 08, 2010 19:32

еще на сайте перестали отображаться аватарки

Oct 08, 2010 21:04

Будем считать что остальные настройки в порядке

Code

server {
  error_log /var/log/nginx/vhost.log warn;
  listen xxx.xxx.xx.xxx:80;
  server_name ggg.com www.ggg.com;
    
  access_log /usr/local/apache/domlogs/ggg.com-bytes_log bytes_log;
  access_log /usr/local/apache/domlogs/ggg.com combined;
  root /home/username/public_html;
  
  location / {
            try_files $uri @backend;
            proxy_pass http://$host:8080;
            include proxy.inc;
        }
 
        location @backend {
            internal;
            proxy_pass http://$host:8080;
            include proxy.inc;
        }
 
        location ~ .*\.(php|jsp|cgi|pl|py)?$ {
            proxy_pass http://$host:8080;
            include proxy.inc;
        }
 
        location ~ /\.ht {
            deny all;
        }
}

Далее создаем файл proxy.inc

Code

proxy_connect_timeout 30s;
proxy_send_timeout   90;
proxy_read_timeout   90;
proxy_buffer_size    64k;
proxy_buffers     16 32k;
proxy_busy_buffers_size 64k;
proxy_pass_header Set-Cookie;
proxy_redirect     off;
proxy_hide_header  Vary;
proxy_set_header   Accept-Encoding '';
proxy_ignore_headers Cache-Control Expires;
proxy_set_header   Host   $host;
proxy_set_header   Referer $http_referer;
proxy_set_header   Cookie $http_cookie;
proxy_set_header   X-Real-IP  $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;

Oct 08, 2010 21:08

А зачем у вас такой старый nginx ?
Этот конфиг может не работать на 0.6.32

Oct 09, 2010 09:36

старый? я устанавливал из deb пакетов а не исходников

Oct 09, 2010 10:13

версию обновил

Oct 09, 2010 10:24

конфиг сделал, сайт выдает

502 Bad Gateway

nginx/0.8.52

Oct 09, 2010 10:30

проверил, конфиги верно скопировал. до их правки все работало, кроме тех проблем что писал

Oct 09, 2010 10:44

в логах

2010/10/09 12:44:02 [error] 18017#0: *1 no resolver defined to resolve bloodtar.ru, client: 77.88.26.27, server: bloodtar.ru, request: "GET /index.php/ashmoret/2009/05/18/-386 HTTP/1.1", host: "bloodtar.ru"
2010/10/09 12:44:03 [error] 18017#0: *2 no resolver defined to resolve bloodtar.ru, client: 178.179.12.64, server: bloodtar.ru, request: "GET / HTTP/1.1", host: "bloodtar.ru"
2010/10/09 12:44:04 [error] 18017#0: *2 no resolver defined to resolve bloodtar.ru, client: 178.179.12.64, server: bloodtar.ru, request: "GET /favicon.ico HTTP/1.1", host: "bloodtar.ru"

Oct 09, 2010 11:00

и сайт к сожалению совсем "не летает" :(

Oct 09, 2010 19:08

Забыл, чтобы $host работал нужно добавить resolver в секцию http

Code

resolver 127.0.0.1;

Для одного сайта можно и руками домен прописать

Теперь нагрузка на сервер уменьшится, но не забывайте про остальные факторы
- скорость порта (100/1000)
- disk I/O (7200 SATA / 15K SAS)
- память
- CPU, число ядер (1/4/8)

Code

apt-get install sysstat

После этого можно проверить disk I/O с помощью sar

Code

sar

обратите внимание на %iowait, все что больше 4 - плохо

Oct 09, 2010 19:22

Вот мой конфиг для nginx 0.7, на всякий случай

Code

user  nobody;
 
worker_processes  4; # no need for more workers in the proxy mode
worker_rlimit_nofile 65535;
 
error_log  /var/log/nginx/info.log info;
 
events {
    worker_connections 5120; # increase for busier servers
    use epoll; # you should use epoll here for Linux kernels 2.6.x
}
 
http {
    resolver 127.0.0.1;
    server_name_in_redirect off;
    server_names_hash_max_size 2048;
    server_names_hash_bucket_size 256;
    
    include mime.types;
    default_type application/octet-stream;
    
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 30;
    
    gzip on;
    gzip_vary on;
    gzip_http_version 1.1;
    gzip_min_length  1100;
    gzip_comp_level  3;
    gzip_buffers  4 32k;
    gzip_types    text/plain text/xml text/css application/x-javascript application/xml application/xml+rss text/javascript application/atom+xml;
    
    ignore_invalid_headers on;
    send_timeout     3m;
    reset_timedout_connection on;
    connection_pool_size  256;
    
    large_client_header_buffers 4 256k;
    request_pool_size  32k;
    output_buffers   4 32k;
    postpone_output  1460;
    
    proxy_temp_path  /tmp/nginx_proxy/;
    
    client_header_timeout  3m;
    client_body_timeout 3m;
    client_header_buffer_size 256k;
    client_body_in_file_only on;
    client_max_body_size 100M;
    client_body_buffer_size 128k;
    
    log_format bytes_log "$msec $bytes_sent .";
    
    server {
        listen    80;
        location /whm-server-status {
            access_log /usr/local/apache/logs/access_log;
            proxy_pass http://127.0.0.1:8081/whm-server-status;
            proxy_set_header   Host   $host;
            proxy_set_header   X-Real-IP  $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
 
    include "/etc/nginx/vhosts.conf";
}

Oct 12, 2010 12:36

# sar
Linux 2.6.18-028stab070.5-ent (km12833-03.keymachine.de) 10/12/10 _i686_

14:35:49 LINUX RESTART

это что значит?

Oct 12, 2010 20:57

Попробуйте

Code

sar 3 3

Или так ;)

Code

man sar

Oct 13, 2010 07:25

# sar 3 3
Linux 2.6.18-028stab070.5-ent (km12833-03.keymachine.de) 10/13/10 _ i686_

09:24:14 CPU %user %nice %system %iowait %steal %idle
09:24:17 all 0.17 0.00 0.00 0.00 0.00 99.83
09:24:20 all 0.00 0.00 0.17 0.00 0.00 99.83
09:24:23 all 0.00 0.00 0.00 0.00 0.00 100.00
Average: all 0.06 0.00 0.06 0.00 0.00 99.89

Oct 13, 2010 19:55

Похоже что ресурсов хватает

Oct 14, 2010 17:22

ну да, я знал, что хватает :-)

еще бы не хватало, посещаемость маленькая

Oct 18, 2010 10:42

никогда не удается Удалить кэш страниц (папку /cache), хотя права 777 ставлю.

обновился до беты, такая картинка http://habreffect.ru/6aa/1fc396dd1/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.png
и та же проблема с добавлением постов. но я сделал так: генерирую соственные уникальный ссылки для постов. грязный вариант, но работает.

и как мне заходить режим профилирования/дебага по паролю?

Oct 19, 2010 02:29

Удаляется не сама папка, а файлы внутри папок с1, с2 ... general и т.д. Проверьте разрешения на них (если они остаются после удаления).

Эту ошибку я исправлял в вашей версии 4.0.0, но забыл ее сабмитнуть в CVS :(

index.php?debug=your-debug-password

Oct 19, 2010 07:51

файлов внутри папок нет, и вроде никогда не было. права на папку ставлю рекурсивно и не удаляется ничего,странно

Oct 19, 2010 07:56

soulgarden wrote:

файлов внутри папок нет, и вроде никогда не было. права на папку ставлю рекурсивно и не удаляется ничего,странно

Не удалось очистить глобальный кэш: /home/sites/bloodtar.ru/cache/general
Не удалось очистить кэш дневника #1: /home/sites/bloodtar.ru/cache/c1
Не удалось очистить кэш дневника #4: /home/sites/bloodtar.ru/cache/c4
Не удалось очистить кэш дневника #127: /home/sites/bloodtar.ru/cache/c127

хотя папок таких нет, папка кеш пуста, в ней только htaccess и папка плагинс

Oct 19, 2010 14:28

Поэтому и не удалось их очистить ;)

Эти папки создаются только при сохранении настроек блога, но не автоматически. Для того чтобы они создавались автоматически при обращении к кешу, вам нужно включить мой код в файле /inc/_core/model/_pagecache.class.php

Начинается он со строки :)

PHP

// fp> It feels like a waste of time to do this for every page hit

Oct 19, 2010 18:46

какой-то странный подход к кешированию

Oct 19, 2010 18:51

а именно непонятно зачем писать об ошибках удаления кеша, если его нет :)

то есть я так понял на сей момент кеш страниц попросту не работает, только кеш запросов?

из вашего там диалога я не совсем понял, кеширование будет адекватно работать, если я раскомментирую код?

что радует, я столько вопросов уже задал важных, что любой русскоязычный сможет найти большинство ответов для себя :-)

Oct 20, 2010 04:44

то есть я так понял на сей момент кеш страниц попросту не работает

Верно

только кеш запросов

Это который?

из вашего там диалога я не совсем понял, кеширование будет адекватно работать, если я раскомментирую код?

будет работать как и прежде, просто необходимые папки будут создаваться автоматически. В обсуждении речь шла о том что этот код целесообразнее запускать не при чтении, а при записи кеша для увеличения производительности.

Вы можете включить код, открыть блоги через менеджер загрузок для того чтобы создались все папки, а потом выключить код.

Code

http://bloodtar.ru/index.php?blog=[1-9999]

Только отключите параллельные потоки, а то сервер не выдержит

что радует, я столько вопросов уже задал важных, что любой русскоязычный сможет найти большинство ответов для себя :-)

Хоть какой-то диалог, а то русская ветка на форуме обновляется редко :)

Oct 20, 2010 07:39

sougarden wrote:

только кеш запросов

sam2kb wrote:

Это который?

Кеш запросов к бд

sam2kb wrote:

Вы можете включить код, открыть блоги через менеджер загрузок для того чтобы создались все папки, а потом выключить код.

Code

http://bloodtar.ru/index.php?blog=[1-9999]

Только отключите параллельные потоки, а то сервер не выдержит

Я думаю в этом нет необходимости, многие дневники попросту не посещают, пусть кеш создается, когда в дневник впервые ктолибо заходит.

Еще не придумали способ, чтоб из всех ссылок убрать index.php?
а то как я помб нужно было для каждого блога прописывать строчку в .htaccess

Oct 20, 2010 17:13

Лучше тогда сразу перевести блоги на поддомены.
blogname.bloodtar.ru/category/post-title

Это идет в .htaccess

Code

#===============
# CATCH EVERYTHING INTO B2EVO:
 
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
 
RewriteEngine on
 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php

В настройках блога > URLs выбрать "Поддомен основного домена"

Старые ссылки будут перенаправлены на новые адреса, ссылки внутри блогов обновятся сами (нужно будет очистить кеш записей и папку /cache )

Естественно, делается это не руками.

Code

UPDATE evo_blogs SET blog_access_type = "subdom", blog_siteurl = ""

Не забудьте про бекап ;)

Oct 20, 2010 18:31

так, а с bind9, т.е. с запиясми днс делать ничего не надо?

Oct 20, 2010 18:34

еще бы хорошо б решить проблему с ссылками постов, благодаря мне создаются ссылки вида 3453454363463g456, что не очень хорошо. а тот скрипт, удаляющий неиспользуемые ссылки выдает ошибку.

Oct 20, 2010 18:48

Да, я забыл, нужно создать поддомен * с корневой директорией в папке b2evo. В вашем случае /home/sites/bloodtar.ru/

На счет ссылок я проверю. В версии 4 появилась возможность транслитерировать ссылки без плагинов и всяких издевательств. Надо проверить с русскими буквами...

Oct 20, 2010 19:06

Поддомен * сделан?

Oct 20, 2010 20:56

нет наверно, записи днс для меня темный лес, уж лучше на войну :-)

я неделю назад прописал домен, чтоб почта на мейл.ру доходила, так не доходит до сих пор :(

Oct 20, 2010 21:19

myzones.onf

Code

zone "bloodtar.ru" {
        type master;
        file "master/bloodtar.ru";
};
 
zone "km12833-03.keymachine.de" {
        type master;
        file "master/km12833-03.keymachine.de";
};

вторая зона чтоб емейл сообщения на мейл ру приходили, потому что сендмейл на этот домен завязан, но что-то не доходят все равно.

/master/bloodtar.ru

Code

$TTL    3600
$ORIGIN ru.
 
bloodtar         IN SOA ns1.bloodtar.ru. admin.bloodtar.ru. (
                            2010100501  ; Serial
                            43200       ; Refresh
                            3600        ; Retry
                            604800      ; Expire
                            3600  )     ; Default TTL
 
$ORIGIN bloodtar.ru.
 
@       NS      ns1
@       NS      ns2
 
@  345600  IN      MX      10      mail
 
@          A       84.19.177.101
localhost  A  127.0.0.1
 
ns1             A       84.19.176.101
ns2             A       84.19.177.101
 
www             A  84.19.177.101
mail            CNAME   www
ftp             CNAME   www
 
;bloodtar.ru.            IN      TXT     "v=spf1 ip4:192.168.254.1 a mx ~all"
;mail                    IN      TXT     "v=spf1 a -all"

/master/km12833-03.keymachine.de

Code

km12833-03.keymachine.de  IN  14400 NS  ns.km12833-03.keymachine.de.
km12833-03.keymachine.de  IN  14400 NS  ns2.km12833-03.keymachine.de.
ns.km12833-03.keymachine.de.  IN 14400  84.19.176.101
ns2.km12833-03.keymachine.de  IN 14400  84.17.177.101
km12833-03.keymachine.de  IN  14400  84.19.176.101

Oct 20, 2010 21:39

Code

#named-checkzone bloodtar.ru bloodtar.ru
zone bloodtar.ru/IN: bloodtar.ru/MX 'mail.bloodtar.ru' is a CNAME (illegal)
 
 
#named-checkzone km1283303.keymachine.de
ignored out-ofzone data (этот домен)
unknown RR type '84.19.176.101'
unknown RR type '84.19.177.101'
unknown RR type '84.19.176.101'
ну и напоследок неизвестный class/type, не может быть загружен из мастера файл

Oct 20, 2010 21:40

А зачем руками это делать? У сервера есть панель управления? Если нет, то можно всегда установить webmin или ispconfig

Oct 20, 2010 22:05

нет панели.
была же панель плеск, но снес ее, потому что при апач + нгинкс она неадекватно работает, да и вообще эта панель дерьмовая.

все равно придется писать виртуал хосты вручную, потому что панели не так умны, чтоб во всех серверах прописывать виртхосты

Oct 20, 2010 22:09

еще панели в памяти обычно висят

я только избавился от такого кошмара, пока панелей не надо :)

Oct 20, 2010 22:17

в антиспам блек листе в 3.3.3, слова сохраняются в виде онлайн казин&#

Oct 20, 2010 22:17

в виде закорючек короче

Oct 21, 2010 00:33

Проверьте кодировку таблиц антиспама. Я не представляю откуда там закорючки, может быть копируется текст в другой кодировке...

В /master/bloodtar.ru добавьте строку

Code

*  14400  IN  CNAME  bloodtar.ru.

для www, mail и ftp можно сделать так

Code

www  14400  IN  CNAME  bloodtar.ru.
ftp  14400  IN  CNAME  bloodtar.ru.
 
bloodtar.ru.  14400  IN  MX  0  bloodtar.ru.
mail  14400  IN  CNAME  bloodtar.ru.

для mail.ru добавляем SPF

Code

bloodtar.ru.  14400  IN  TXT  "v=spf1 ip4:84.19.177.101  a mx ?all"

Перезапускаем Bind и открываем такой адрес (должен вести на сайт)
http://gskjdlfhglsdfgh.bloodtar.ru/

Oct 21, 2010 06:45

Проверьте кодировку таблиц антиспама. Я не представляю откуда там закорючки, может быть копируется текст в другой кодировке...

это на вашем сайте в разделе демо :)

bloodtar.ru. 14400 IN TXT "v=spf1 ip4:84.19.177.101 a mx ?all"

а те записи для "технического" домена можно удалить? эти записи мне саппорт давал

Oct 21, 2010 07:21

это на вашем сайте в разделе демо

На сайте старая демка 2.4.7, ее давно пора убрать...

а те записи для "технического" домена можно удалить? эти записи мне саппорт давал

Просто закомментируйте конфиг зоны (может еще пригодится)

Oct 21, 2010 07:38

bloodtar.ru/MX 'mail.bloodtar.ru' is a CNAME (illegal)

Code

$TTL    3600
$ORIGIN ru.
 
bloodtar         IN SOA ns1.bloodtar.ru. admin.bloodtar.ru. (
                            2010100502  ; Serial
                            43200       ; Refresh
                            3600        ; Retry
                            604800      ; Expire
                            3600  )     ; Default TTL
 
$ORIGIN bloodtar.ru.
 
@       NS      ns1
@       NS      ns2
 
@  345600  IN      MX      10      mail
 
@          A       84.19.177.101
localhost  A  127.0.0.1
 
ns1             A       84.19.176.101
ns2             A       84.19.177.101
 
www  14400  IN  CNAME  bloodtar.ru.
ftp  14400  IN  CNAME  bloodtar.ru.
 
bloodtar.ru.  14400  IN  MX  0  bloodtar.ru.
mail  14400  IN  CNAME  bloodtar.ru.
 
bloodtar.ru.  14400  IN  TXT  "v=spf1  ip4:84.19.177.101  a  mx  ?all"

Oct 21, 2010 11:18

наверно без того домена никак

Oct 21, 2010 12:02

поддомены заработали :-)

Oct 21, 2010 21:39

Что у вас в .htaccess ? Скопируйте код сюда полностью.

Oct 21, 2010 22:46

оказалось надпись rewrite engine on затерялась :)
все в порядке. осталось победить меил ру


Form is loading...

powered by b2evolution – This forum is powered by b2evolution CMS, a complete engine for your website.