{"id":232799,"date":"2023-01-28T17:12:00","date_gmt":"2023-01-28T14:12:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232799"},"modified":"2022-11-10T17:49:56","modified_gmt":"2022-11-10T14:49:56","slug":"kuidas-seadistada-hhvm-i-ubuntu-vps-is","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kuidas-seadistada-hhvm-i-ubuntu-vps-is\/","title":{"rendered":"Kuidas seadistada HHVM-i Ubuntu VPS-is?"},"content":{"rendered":"\n<p>Minu esialgsel <a href=\"https:\/\/helloacm.com\/webhosting-review-quickhostuk-web-hosting-is-simply-the-best\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">VPS<\/a> -il (virtuaalne privaatserver) oli ainult 512M RAM, 1 tuum ja 10G HDD. Hiljem <a href=\"https:\/\/helloacm.com\/mysql-server-stopped-due-of-out-of-memory-exception-on-ubuntu-vps\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4iendasin<\/a> m\u00e4lu t\u00fchjenemise t\u00f5ttu 2-tuumalisele, 1G RAM-ile ja 20G HDD-le. Paar p\u00e4eva tagasi aga liiklus kasvab (suurem osa neist on <a href=\"https:\/\/helloacm.com\/how-to-ban-specified-ips-in-apache2-server\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">robotitelt<\/a> ), VPS sai vaevu hakkama ja seet\u00f5ttu <a href=\"https:\/\/helloacm.com\/site-news-vps-upgraded-again-to-handle-large-traffic\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">uuendasin uuesti<\/a> 3 tuuma ja 2GB RAM-i peale.<\/p>\n<p>VPS-i PHP versioon on 5.5 ja seega on sellel sisseehitatud kiirendi <strong>OpCache<\/strong>, mis salvestab PHP opkoodi vahem\u00e4llu. Opcache v\u00f5etakse kasutusele, et asendada APC (Another PHP Cache), mis on avatud l\u00e4htekoodiga projekt, mida kasutatakse peamiselt PHP koodi kiirendamiseks enne versiooni 5.4.x v\u00f5i varasemaid versioone. HHVM t\u00f6\u00f6tab sarnaselt <a href=\"https:\/\/hhvm.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">.<\/a> See kompileerib PHP-koodi esmalt komplektiks ja seej\u00e4rel k\u00e4ivitatakse koostekood, kui see leitakse ja endiselt kehtib, ilma sama PHP-koodi uuesti t\u00f5lgendamata. See idee on v\u00e4ga sarnane .NET-platvormiga, kus .NET-i keeled, nagu C#, t\u00f5lgitakse ja kompileeritakse k\u00e4itusajal (JIT = Just In Time) kompilaatoris. Seet\u00f5ttu t\u00f6\u00f6tavad .NET-i rakendused alguses aeglaselt, kuid kipuvad hiljem kiirenema, kuna need kompileeritakse k\u00e4itusajal algkoodiks ja salvestatakse vahem\u00e4llu.<\/p>\n<p>Muidugi on ka muid uusi funktsioone. Uus keel [Hack] p\u00f5hineb PHP-l. Teame, et PHP keel on l\u00f5dvalt t\u00fc\u00fcpi keel, mis t\u00e4hendab, et te ei pea \u00fchegi muutuja jaoks t\u00fc\u00fcpi m\u00e4\u00e4rama (tegelikult ei saa seda selges\u00f5naliselt teha). T\u00fc\u00fcpe kasutatakse siis, kui see on vajalik. H\u00e4kkimiskeel on j\u00e4rkj\u00e4rguline t\u00fc\u00fcp, mis t\u00e4hendab, et esimest korda t\u00fc\u00fcbi m\u00e4\u00e4ratlemisel ei saa t\u00fc\u00fcpi muuta. See aitab edendada tugevat koodi ja parandab arenduse t\u00f5husust. See on pigem suur teema, mida tuleks eraldi postituses tutvustada.<\/p>\n<p>HHVM-i installimine Linuxile (minu puhul Ubuntule) on \u00fcsna lihtne.<\/p>\n<pre><code>root@uploadbeta:\/var\/www\/helloacm.com\/htdocs\/hhvm# lsb_release -a\nNo LSB modules are available.\nDistributor ID: Ubuntu\nDescription: \u00a0 \u00a0Ubuntu 14.04.1 LTS\nRelease: \u00a0 \u00a0 \u00a0 \u00a014.04\nCodename: \u00a0 \u00a0 \u00a0 trusty<\/code><\/pre>\n<p>V\u00f5ite alla laadida eelnevalt kompileeritud binaarfailid v\u00f5i l\u00e4htekoodi ja kompileerida selle kohapeal. J\u00e4rgmised installid eelkompileeritud binaarhoidlast.<\/p>\n<pre><code>wget -O - <\/code><\/pre>\n<p>Seej\u00e4rel saate apache- v\u00f5i ngix-serveri konfigureerimiseks k\u00e4ivitada j\u00e4rgmise k\u00e4su.<\/p>\n<pre><code>\/usr\/share\/hhvm\/install_fastcgi.sh<\/code><\/pre>\n<p>Tegelikult saate p\u00e4rast hhvmi installimist kasutada seda k\u00e4sureal PHP l\u00e4htekoodi k\u00e4ivitamiseks, n\u00e4iteks j\u00e4rgmiselt:<\/p>\n<pre><code>hhvm hello-world.php<\/code><\/pre>\n<p>HHVM k\u00e4surea parameetrid<\/p>\n<p>Saame Apache serveri ajutiselt keelata:<\/p>\n<pre><code>sudo service apache2 stop<\/code><\/pre>\n<p>Ja k\u00e4ivitage hhvm-server, kuulates pordi 80 kaudu (nii et peate peatama teised serverid, mis kuulavad sama porti):<\/p>\n<pre><code>hhvm -m server<\/code><\/pre>\n<p>Seej\u00e4rel saate brauseris testida PHP koodi, mis edastatakse HHVM serverile.<\/p>\n<p>Kui p\u00e4rast installimist ja seadistamist ilmneb t\u00f5rge <strong>404 ei leitud<\/strong>, peate t\u00f5en\u00e4oliselt lisama <strong>faili \/etc\/hhvm\/server.ini j\u00e4rgmise rea<\/strong><\/p>\n<pre><code>hhvm.server.fix_path_info = true<\/code><\/pre>\n<p>Ja taask\u00e4ivitage hhvm, kasutades <strong>sudo teenust hhvm restart<\/strong>.<\/p>\n<p>Olen serverit m\u00f5nda aega testinud ja j\u00e4lginud ning ausalt \u00f6eldes ei n\u00e4inud mingit vahet ilmselt m\u00e4rkamatu liikluse t\u00f5ttu. <strong>K\u00e4suga htop<\/strong> loetletud protsessid aga muutusid <strong>apache2 -k start<\/strong> asemel <strong>hhvm -iks<\/strong><\/p>\n<p>Samuti saame luua j\u00e4rgmise sisuga PHP-faili ja testida, kas HHVM brauseris t\u00f6\u00f6tab:<\/p>\n<pre><code>&lt;?php\n  echo  defined('HHVM_VERSION')?'Using HHVM':'Not using HHVM';\n?&gt;<\/code><\/pre>\n<p>WordPressi saite saab kasutada HHVM-iga, kuid n\u00e4ib, et HHVM ei toeta GB2312 kodeeringut (ja v\u00f5ib-olla ka teisi), kuna see ajab t\u00e4hem\u00e4rkidega sassi. <a href=\"https:\/\/uploadbeta.com\/picture-gallery\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Fotogalerii<\/a> PHP kood n\u00e4itas HHVM -i kasutades t\u00fchja lehte ja ma pole siiani p\u00f5hjust v\u00e4lja selgitanud.<\/p>\n<p>Otsustasin siiski HHVM-ist lahti saada, praegune pakett: Apache2 + PHP5.5 + Mysql t\u00f6\u00f6tab p\u00e4ris h\u00e4sti. V\u00f5ib-olla toon tulevikus HHVM-i tagasi, kui VPS kogeb taas tohutut liiklust.<\/p>\n<pre><code>sudo service hhvm stop\nsudo apt-get remove hhvm<\/code><\/pre>\n<p>Peame p\u00e4rast HHVM-i desinstallimist taastama apache2 s\u00e4tted.<\/p>\n<pre><code>sudo a2dismod proxy_fcgi\nsudo a2dismod proxy\nrm \/etc\/apache2\/mods-enable\/hhvm*.conf\nsudo service apache2 restart<\/code><\/pre>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kuidas seadistada HHVM-i Ubuntu VPS-is?<\/p>\n","protected":false},"author":1,"featured_media":224669,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,1065,842],"tags":[1165],"class_list":["post-232799","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-arvuti","category-opetused","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/232799","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=232799"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/232799\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/224669"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=232799"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=232799"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=232799"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}