Проблемы при установке PHP расширения v8js для FreeBSD и MAC OS X

Пробую ставить на Freebsd 9.1 x32, PHP 5.4.15 (cli).
Ставлю v8 из портов, локейшн по умолчанию.
root@papi:/root # pkg_info v8-3.18.5 -L Information for v8-3.18.5: Files: /usr/local/bin/d8 /usr/local/include/v8.h /usr/local/include/v8-debug.h /usr/local/include/v8-preparser.h /usr/local/include/v8-profiler.h /usr/local/include/v8-testing.h /usr/local/include/v8stdint.h /usr/local/lib/libv8.so /usr/local/lib/libv8.so.1

Ставлю расширение
root@papi:/root # pecl install v8js-0.1.3

Получаю fail
downloading v8js-0.1.3.tar… Starting to download v8js-0.1.3.tar (Unknown size) ..................done: 80,896 bytes 8 source files, building running: phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 Please provide the installation prefix of libv8 [autodetect]: /usr/local building in /tmp/pear/pear-build-root9uQTVr/v8js-0.1.3 running: /tmp/pear/v8js/configure --with-v8js=/usr/local checking for grep that handles long lines and -e… /usr/bin/grep checking for egrep… /usr/bin/grep -E checking for a sed that does not truncate output… /usr/bin/sed checking for cc… cc checking whether the C compiler works… yes checking for C compiler default output file name… a.out checking for suffix of executables… checking whether we are cross compiling… no checking for suffix of object files… o checking whether we are using the GNU C compiler… yes checking whether cc accepts -g… yes checking for cc option to accept ISO C89… none needed checking how to run the C
Читать дальше

m.domain.ru -> domain.ru/m на nginx (но с подковыркой)

Дано:
nginx на фронтэнде в качестве балансировщика.
jetty на бэкэнде.

Пользователи должны приходить на sub.domain.ru.
И в строке браузера должно везде оставаться sub.domain.ru.
Однако к jetty уже должны приходить запросы вида domain.ru/sub/

Пока что допёр до такой конфигурации.
Для domain.ru отправляем запрос на прямую на бэкэнд
А для m.domain.ru переписываем поле заголовка Host в domain.ru, а запрос отправляем к бэкэнду переписывая URI как /m/{запрос}
И вроде бы даже все работает. Но дело в том, что в приложении все URL к статике прописаны как /public/mobile. Соответственно при заходе на m.domain.ru они преобразовываются в mobile.ru/m/public/mobile, и сервер их не находит. Написал workaround, но что-то он не работает. Не пойму что я делаю не так.

Может быть есть вообще более изящное решение этой проблемы?

server { listen 80; server_name m.domain.ru; root /path/to/jetty/webapps/; # все запросы к m.domain.ru переписываем отправляем к jetty как localhost:8080/m/, а поле заголовка Host переписываем на domain.ru location / { proxy_pass 127.0.0.1:8080/m$request_uri; proxy_set_header Host domain.ru; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache off; proxy_redirect off; } #но делаем исключение для статики location /public/mobile { proxy_pass localhost:8080/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host domain.ru; proxy_cache off; proxy_redirect off; } } server { listen 80; server_name domain.ru; root /path/to/jetty/webapps/; location / { proxy_pass localhost:8080/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_cache off; proxy_redirect off; } }

Настройка доступа для SFTP/OpenSSH и Samba под Ubuntu?

Всем привет.

Задача такая.

Имеется система Ubuntu 12.04 LTS, на которой необходимо создать некоторую папку, куда могут писать все, находящиеся в локальной сети. Клиенты — Windows. Очевидно, что надо делать под Самбу.

Также необходимо обеспечить удалённый доступ к этой папке по SFTP.

Реализовано так:

1. Поднят SFTP, как указано здесь: solderintheveins.co.uk/2011/03/ubuntu-sftp-only-ac…

Маленькое изменение:
Subsystem sftp internal-sftp -u 0000
Читать дальше

Перенаправление email

Здравствуйте, етсь у меня сервер на дебиане, на нем стоит exim4, вся почта редиректится на один ящик, т.е. можно отправлять письма на ***domain.com и все они складываются в одно место. Домен хостится на godaddy, чтобы правильно шла почта, сделал такие записи:

A (Host)
@ IP

CNAME (Alias)
imap @
mail @
pop @
smtp @

MX (MailExchanger)
0 @ @

В exim-конфиге есть пункт:
Читать дальше

Падает апач после ротации логов

Имеется сервер на FreeBSD 8.0 с Apache 2.2.23, PHP 5.4.10 и nginx 1.2.6. Соответственно, сначала стоит nginx, за ним Apache. Проблема в том, что стабильно раз в несколько дней падает Apache после ротации логов. Ротация логов выполняется с помощью logrotate с примерно таким конфигом:
"/usr/home/mysite/logs/*.log" "/var/log/*-error.log" "/var/log/*-access.log" { su root www daily rotate 7 compress ifempty missingok nomail prerotate /usr/local/www/awstats/tools/awstats_updateall.pl now -awstatsprog=/usr/local/www/awstats/cgi-bin/awstats.pl endscript postrotate /usr/bin/killall -HUP httpd endscript sharedscripts }

После ротации в старом error.log:
[Mon May 13 00:01:03 2013] [notice] SIGHUP received. Attempting to restart

В новом:
[Mon May 13 00:01:03 2013] [notice] Digest: generating secret for digest authentication… [Mon May 13 00:01:03 2013] [notice] Digest: done [Mon May 13 00:01:05 2013] [notice] Apache/2.2.23 (FreeBSD) PHP/5.4.10 configured — resuming normal operations [Mon May 13 00:01:06 2013] [notice] child pid 88614 exit signal Segmentation fault (11), possible coredump in /usr/local [Mon May 13 00:01:06 2013] [notice] child pid 88613 exit signal Segmentation fault (11), possible coredump in /usr/local [Mon May 13 00:01:06 2013] [notice] child pid 88612 exit signal Segmentation fault (11), possible coredump in /usr/local… [Mon May 13 00:02:48 2013] [notice] child pid 88818 exit signal Segmentation fault (11), possible coredump in /usr/local [Mon May 13 00:02:49 2013] [notice] child pid 88884 exit signal Segmentation fault (11), possible coredump in /usr/local [Mon May 13 00:02:49 2013] [notice] child pid 88883 exit signal Segmentation fault (11), possible coredump in /usr/local [Mon May 13 00:02:50 2013] [notice] caught SIGTERM, shutting down

В /usr/local/ создается файл httpd.core весом около 16 мегабайт.

Если после этого просто запустить Apache — он начинает дико жрать оперативку и проц. Если перезагрузить весь сервер — все работает нормально.

Как это можно исправить? Куда вообще копать?

После отключения APC на веб-сервере с LAMP сайты начали работать быстрее и разгрузился процессор. WTF?

Здравствуйте, коллеги и товарищи.

Имеем веб-сервер на CentOS 6.3 для хостинга ряда сайтов на Drupal (в основном, седьмой версии), куда накатан традиционный LAMP + nginx в роли обратного прокси. В качестве прекомпилера для PHP использовался APC. На сервере порядка 100 живых сайтов, высокой нагрузки — нет.

Большинство сайтов на веб-сервере появилось недавно, до этого было 5-6 сайтов и всё работало хорошо (с тем же самым APC). Но когда пришло много сайтов (при этом все новички — слабые, по 100 хостов в сутки) мы начали замечать периодические тормоза: один и тот же сайт загружался то нормально, то с затупом (и однозначно затуп воспроизвести не удавалось). Но когда сайты начали выстреливать нотисами типа Unable to allocate memory for pool… — виноватого нашли, им оказался APC (т.е., наверное, не он сам, а наши несовершенные дефолтные конфиги, но тем не менее).

Ситуация развивалась вот так:

Читать дальше

Маршрутизация дополнительного IP. Debian

Всем доброго здравия и с праздничками.

Имеется проблемка следующего характера. Раньше на сервере(колокейшн) был прикреплен 1 ip, таким вот образом в /etc/network/interfaces
auto eth0 iface eth0 inet static address A.A.A.B netmask N.N.N.N gateway A.A.A.A

где A.A.A.A определенный шлюз.
Дальше по запросу выделили второй IP. Да только этот IP уже находится не в подсети A.A.A.A а в подсети B.B.B.B

если дописать
auto eth0:1 iface eth0:1 inet static address B.B.B.C netmask N.N.N.N gateway B.B.B.B

То к серверу по IP A.A.A.B достучатся можно а вот по IP B.B.B.C в основном нет. Хотя если звезды правильно светят то иногда получается. Такое ощущение что оно пытается отправить ответ через первый шлюз хотя должно это делать через второй.

таблица роута такая получается
B.B.B.N 0.0.0.0 N.N.N.N U 0 0 0 eth0 A.A.A.B 0.0.0.0 N.N.N.N U 0 0 0 eth0 0.0.0.0 B.B.B.B 0.0.0.0 UG 0 0 0 eth0 0.0.0.0 A.A.A.A 0.0.0.0 UG 0 0 0 eth0

Гугл подсказывает что 2 шлюза не делается в /etc/network/interfaces, а нужно route писать. Пробовал писать… все становится еще хуже. Если прописать в interfaces gateway то так второй ip хоть иногда отвечает.

Может подсказать кто-то как повесить 2 IP с разных подсетей на 1 интерфейс. Заранее спасибо за любую помощь.

PS. Гуглил более 4 часов.

Пустые строки в Fabric после вызова любой команды

import fabric from fabric.api import * env.hosts = ['d1','d2','d3','e1','e2','e3','e4'] env.parallel = True env.use_ssh_config = True fabric.state.output['running'] = False @task def uname(): run('uname -a')

Результат:
iMac:Fabric-1.6.0 vizh$ fab uname [e1] out: Linux e1 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux [e1] out: [e4] out: Linux e4 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux [e4] out: [e3] out: Linux e3 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux [e3] out: [e2] out: Linux e2 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux [e2] out: [d2] out: Linux d2 2.6.32-5-686-bigmem #1 SMP Sun May 6 04:39:05 UTC 2012 i686 GNU/Linux [d2] out: [d1] out: Linux d1 2.6.32-5-686-bigmem #1 SMP Sun May 6 04:39:05 UTC 2012 i686 GNU/Linux [d1] out: [d3] out: Linux d3 2.6.32-5-686-bigmem #1 SMP Sun May 6 04:39:05 UTC 2012 i686 GNU/Linux [d3] out: Done.

Вопрос: как избежать вывода пустых строк, что бы получилось так:
iMac:Fabric-1.6.0 vizh$ fab uname [e1] out: Linux e1 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux [e4] out: Linux e4 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux [e3] out: Linux e3 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux [e2] out: Linux e2 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux [d2] out: Linux d2 2.6.32-5-686-bigmem #1 SMP Sun May 6 04:39:05 UTC 2012 i686 GNU/Linux [d1] out: Linux d1 2.6.32-5-686-bigmem #1 SMP Sun May 6 04:39:05 UTC 2012 i686 GNU/Linux [d3] out: Linux d3 2.6.32-5-686-bigmem #1 SMP Sun May 6 04:39:05 UTC 2012 i686 GNU/Linux Done.

DRBD — низкая производительность на запись?

Здравствуйте.

Имею следующий конфиг:

2 x IBM x3630, по 14 2Tb SATA-дисков в каждом, на каждом собран raid10 из 12 дисков, 2 в hot-spare.

Гигабитный линк между серверами.

DRBD поверх устройств raid10 (md-raid).

Производительность /dev/md127:

throughput ~ 900 MB/s

fio со следующим конфигом:
Конфиг fio[readtest] blocksize=4k filename=/dev/md/raid10 rw=randread direct=1 buffered=0 ioengine=libaio iodepth=16

выдает примерно такие цифры:
Вывод fioreadtest: (groupid=0, jobs=1): err= 0: pid=5009 read: io=38632KB, bw=3502.5KB/s, iops=875, runt= 11030msec slat (usec): min=4, max=135, avg=15.63, stdev= 4.91 clat (msec): min=1, max=149, avg=18.19, stdev=12.39 lat (msec): min=2, max=149, avg=18.21, stdev=12.39 bw (KB/s): min= 0, max= 3736, per=61.09%, avg=2139.33, stdev=1733.77 cpu: usr=1.16%, sys=2.03%, ctx=9085, majf=0, minf=36 IO depths: 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.8%, 32=0.0%, >=64=0.0% submit: 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete: 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0% issued r/w/d: total=9658/0/0, short=0/0/0 lat (msec): 2=0.01%, 4=0.38%, 10=21.22%, 20=49.09%, 50=26.52% lat (msec): 100=2.63%, 250=0.16%

875 иопсов при задержке в 18 мс. Меня устраивают такие цифры, всё хорошо.

fio на запись — аналогично.
Конфиг fio[writetest] blocksize=4k filename=/dev/md/raid10 rw=randwrite direct=1 buffered=0 ioengine=libaio iodepth=16

Вывод fiowritetest: (groupid=0, jobs=1): err= 0: pid=5023 write: io=169624KB, bw=3912.7KB/s, iops=978, runt= 43353msec slat (usec): min=2, max=20841, avg=10.85, stdev=101.29 clat (usec): min=15, max=169027, avg=16321.19, stdev=33566.14 lat (usec): min=267, max=169040, avg=16332.46, stdev=33566.13 bw (KB/s): min= 2936, max= 7334, per=100.26%, avg=3922.26, stdev=526.96 cpu: usr=1.02%, sys=1.50%, ctx=40727, majf=0, minf=18 IO depths: 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, >=64=0.0% submit: 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete: 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0% issued r/w/d: total=0/42406/0, short=0/0/0 lat (usec): 20=0.01%, 250=0.01%, 500=33.40%, 750=9.47%, 1000=5.28% lat (msec): 2=18.85%, 4=13.12%, 10=1.09%, 20=0.87%, 50=1.70% lat (msec): 100=12.06%, 250=4.15%

978 iops при задержке до 17 мс. Тоже прекрасно.

Далее начинается самое интересное.

Создаю drbd-устройство со следующим конфигом:
resource r0 { device /dev/drbd0; disk /dev/md/raid10; meta-disk internal; on storage00 { address 192.168.254.10:7789; } on storage01 { address 192.168.254.11:7789; } net { max-buffers 8000; max-epoch-size 8000; } }

И получаю нечто, не поддающееся обработке разумом, а именно:

Throughput на чтение почти не деградирует (чего и следовало ожидать, чтение идёт с локальной ноды).

Throughput на запись фиксируется ровно на 60 МБ/с. Маловато, от гигабита я ожидал 110 МБ/с, тем более, что initial sync drbd-устройства происходил как раз на скорости 110 МБ/с.

Снова fio при StandAlone-устройстве. Чтение:
Конфиг fio[readtest] blocksize=4k filename=/dev/drbd0 rw=randread direct=1 buffered=0 ioengine=libaio iodepth=16

Вывод fioreadtest: (groupid=0, jobs=1): err= 0: pid=5214 read: io=154380KB, bw=3500.5KB/s, iops=875, runt= 44103msec slat (usec): min=5, max=417, avg=17.87, stdev= 5.28 clat (msec): min=1, max=209, avg=18.25, stdev=12.51 lat (msec): min=1, max=209, avg=18.27, stdev=12.51 bw (KB/s): min= 3048, max= 3840, per=100.16%, avg=3505.55, stdev=113.92 cpu: usr=1.02%, sys=2.17%, ctx=36213, majf=0, minf=37 IO depths: 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, >=64=0.0% submit: 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete: 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0% issued r/w/d: total=38595/0/0, short=0/0/0 lat (msec): 2=0.01%, 4=0.47%, 10=21.24%, 20=48.90%, 50=26.46% lat (msec): 100=2.79%, 250=0.13%

Запись:
Конфиг fio[readtest] blocksize=4k filename=/dev/drbd0 rw=randread direct=1 buffered=0 ioengine=libaio iodepth=16

Вывод fiowritetest: (groupid=0, jobs=1): err= 0: pid=5229 write: io=2396.0KB, bw=109341 B/s, iops=26, runt= 22439msec slat (msec): min=8, max=67, avg=37.40, stdev= 9.43 clat (usec): min=440, max=741029, avg=553594.77, stdev=83784.27 lat (msec): min=40, max=783, avg=590.99, stdev=86.72 bw (KB/s): min= 6, max= 131, per=98.23%, avg=104.12, stdev=19.29 cpu: usr=0.30%, sys=0.11%, ctx=601, majf=0, minf=20 IO depths: 1=0.2%, 2=0.3%, 4=0.7%, 8=1.3%, 16=97.5%, 32=0.0%, >=64=0.0% submit: 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete: 0=0.0%, 4=99.8%, 8=0.0%, 16=0.2%, 32=0.0%, 64=0.0%, >=64=0.0% issued r/w/d: total=0/599/0, short=0/0/0 lat (usec): 500=0.17% lat (msec): 50=0.17%, 100=0.17%, 250=0.83%, 500=14.36%, 750=84.31%

Чтение не деградировало или почти не деградировало. Запись деградировала во много раз (напоминаю, drbd находится в StandAlone-режиме)

Кроме того, присутствует страшная задержка на slat — больше 37 мс только на обработку io-запроса дисковым стеком.

Что я делаю не так с drbd? Это же ненормальное поведение, когда просто еще один слой (drbd over md) рубит производительность в сорок раз?

DRBD 8.3, ядро 3.5.0-27-generic, система Ubuntu 12.04 LTS. Планировщик io — cfq.

Помогите?

Проблема с 301 редиректом?

Есть старый сайт, который был перенесен на SimplaCMS. Изменилась структура URL и нужно сделать редирект со старых страниц на новые.

Файл хтаццес имеет такой вид: (редиректы в конце самом)

AddDefaultCharset UTF-8

ErrorDocument 404 /404

ErrorDocument 401 /password.php

RewriteEngine on

# Админка теперь по адресу /simpla

RewriteRule ^admin/?$ simpla [L]

# Каталог товаров
Читать дальше