Instalace HHVM a zprovoznění hacklang
- akadlec
- Člen | 1326
Nezkoušel někdo z vás rozchodit hacklang? Nahodil sem si VPSko, na něm mám hozeny nginx, php-fpm…je to rozjete přes ispconfig. Dodělal jsem tam hhvm, to se tváří že jede, ale zaboha nemůžu rozjet hacklang.
jakmile dám otvírací značku <?hh tak server padne na 500ku a logy jak se zdá mlčí :(
- HappyFace
- Člen | 162
Cau,
s Isp-eckom nemam moc skusenosti ale viacmenej sa dnes presne chystam riesit nieco podobne. S HHVM nebol v zasade ziaden problem a nabehol na prvy raz, u nette mam pocit ze trebalo nieco nastavit a este stale nemam to podla checkru OK ale to doriesim neskor aktualne sa pokusam este rozbehat na serveru aj PHP-cko
na serveru bezi uz nette s hackom:
checker: http://hhvm.hellosoft.cz/…/checker.php
sandbox: http://hhvm.hellosoft.cz/…sandbox/www/
- HH ti neprekusne whitechar pred <?hh , tak si to skontroluj, ak je to ok, skus log
- Moc sa mu nepaci ked miesas html a hh
- Log najdes v system messages
EDIT: oprava URL
Editoval HappyFace (15. 7. 2014 20:01)
- HappyFace
- Člen | 162
akadlec napsal(a):
- samo to zkouším na čistém file a žáden znak před značkou není
- je to čistý file
- logy jsou prázdné
- este ma napada ci ISP smeruje request na spravne miesto
- hhvm ma dostatocne opravnenie k zrojakom
- taktiez pozri /var/log/hhvm/error.log
ak je vsetko v pohode, tak uz vazne netusim kdeby mohla byt chyba :/
- akadlec
- Člen | 1326
Takže dořešeno.....vše sem hodil ze stolu a začal znova.
- Nainstalován klasický Debian 7 Wheezy
- Instalován a konfigurován server včetě ISPConfigu3 podle howto na nginx atd.
- Nahozen hhvm podle dalšího howto tutoriálu
- Zkouška zda to funguje…
Výsledek je ten že pro HHVM se vytváří spouštěcí daemony ale nevytovřil se sock pro konkrétní web, takže hledání chyby a zjištění že chyběl memcache modul takže instalace:
apt-get install libmemcached-dev
Tím jsem dosáhnul toho že se sock file vytvářel a úspěšně se spustil na danou doménu HipHop. Jenže pořád byl problém pokud jsem udělal easy soubor jen na test hacklangu:
<?hh
echo phpinfo();
Základní error log pro hhvm mlčel, protože hhvm se ještě konfiguruje
zvlášť pro jednotlivé websites, takže editace spouštěcího skriptu
websajty a přidání logfile a úprava log levelu.
Výsledek byl ten že hiphopu ještě chyběl jeden soubor a to .hhconfig Když
jsem jej vložil (prázdný) tak se hacklang rozjel.
Takže pokud někdo chce hacklang a hiphop na ispconfigu3 tak směle do toho, jede to ;)
Upravený
/usr/local/ispconfig/server/conf/hhvm_starter.master:
Výsledek je ten že hhvm loguje své chyby do hhvm.log souboru
který je nutné vytvořit v každé website v log
adresáři
do_start()
{
if [ ! -d /var/run/hhvm ]; then
mkdir -p -m0777 /var/run/hhvm
else
chmod 777 /var/run/hhvm
fi
if [[ -e "/var/run/hhvm/hhvm_{SYSTEM_USER}.pid" ]] ; then
kill -0 `cat /var/run/hhvm/hhvm_{SYSTEM_USER}.pid` >/dev/null 2>&1 ;
case "$?" in
0)
return 1
;;
esac
fi
umask 017
sudo -u {SYSTEM_USER} touch /var/run/hhvm/hhvm_{SYSTEM_USER}.pid
/usr/bin/hhvm --mode daemon -vServer.Type=fastcgi --user {SYSTEM_USER} -vServer.FileSocket=/var/run/hhvm/hhvm.{SYSTEM_USER}.sock -vLog.Level=Warning -vLog.UseLogFile=true -vLog.File=/var/www/clients/{SYSTEM_GROUP}/{SYSTEM_USER}/log/hhvm.log -vRepo.Central.Path=/var/run/hhvm/hhvm.{SYSTEM_USER}.hhbc -vPidFile=/var/run/hhvm/hhvm_{SYSTEM_USER}.pid & echo $! > /var/run/hhvm/hhvm_{SYSTEM_USER}.pid
}
Aby se tento master script dobře nastavil pro konkrétní website, je třeba upravit i /usr/local/ispconfig/server/plugins-available/nginx_plugin.inc.php aby se doplňoval {SYSTEM_GROUP} do master starteru:
//.....za řádek 2333 do funkce hhvm_update
$content = str_replace('{SYSTEM_GROUP}', $data['new']['system_group'], $content);