GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat WordPress s HHVM a Nginx na CentOS 7

HHVM (HipHop Virtual Machine) je virtuální stroj s otevřeným zdrojovým kódem pro spouštění programů napsaných v jazyce PHP a Hack. HHVM byl vyvinut společností Facebook, poskytuje většinu funkcí aktuální verze PHP 7. Chcete-li na svém serveru spustit HHVM, můžete použít FastCGI k propojení HHVM s webovým serverem Nginx nebo Apache, nebo můžete použít webový server zabudovaný do HHVM s názvem "Proxygen".

V tomto tutoriálu vám ukážu, jak nainstalovat WordPress s HHVM a Nginx jako webový server. Jako operační systém budu používat CentOS 7, takže je nutná základní znalost CentOS.

Předpoklad

  • CentOS 7 – 64bit
  • Oprávnění uživatele root

Krok 1 – Konfigurace SELinuxu a přidání úložiště Epel

V tomto tutoriálu budeme používat SELinux v režimu vynucení, takže potřebujeme nástroje pro správu SELinux nainstalované v systému. Ke správě zásad SELinuxu použijeme nástroje setools a setrobleshoot.

Ve výchozím nastavení je SELinux povolen na CentOS 7, můžeme to zkontrolovat příkazem níže:

sestatus
getenforce

Můžete vidět, že SELinux je povolen s režimem vynucení.

Dále nainstalujte setools a odstraňte problémy pomocí příkazu yum.

yum -y install setroubleshoot setools net-tools

Po dokončení instalace můžete nainstalovat úložiště EPEL.

yum -y install epel-release

Krok 2 – Instalace Nginx

Nginx nebo engine-x je lehký webový server s vysokým výkonem a nízkou spotřebou paměti. Na CentOS můžeme použít yum k instalaci balíčků Nginx. Ujistěte se, že jste přihlášeni jako uživatel root!

Nainstalujte nginx pomocí tohoto příkazu yum z úložiště CentOS:

yum -y install nginx

Nyní spusťte Nginx a povolte jeho spuštění při spouštění pomocí příkazu systemctl:

systemctl start nginx
systemctl enable nginx

Abyste zajistili, že Nginx běží na našem serveru, navštivte ve svém prohlížeči IP adresu serveru nebo použijte příkaz curl, jak je uvedeno níže, abyste získali výsledky:

curl 192.168.1.110

Zjistím to pomocí webového prohlížeče zde:

Krok 3 – Instalace a konfigurace MariaDB

MariaDB je open source databáze vyvinutá původním vývojářem MySQL Montym Wideniusem, byla vytvořena z databáze MySQL, ale zůstává s ní kompatibilní ve svých hlavních funkcích. V tomto kroku nainstalujeme MariaDB a nakonfigurujeme heslo root pro databázi MariaDB. Poté vytvoříme novou databázi a nového uživatele, které jsou vyžadovány pro naši instalaci WordPressu.

Nainstalujte mariadb a mariadb-server:

yum -y install mariadb mariadb-server

Spusťte MariaDB a přidejte službu, která se má automaticky spouštět při spouštění:

systemctl start mariadb
systemctl enable mariadb

MariaDB byla spuštěna a nyní musíme nakonfigurovat heslo uživatele root pro databázi mariadb/mysql. Zadejte příkaz níže a nastavte heslo root MariaDB.

mysql_secure_installation

Na požádání zadejte své nové heslo pro uživatele root MariaDB.

Set root password? [Y/n] Y
New password:
Re-enter new password:

Remove anonymous users? [Y/n] Y
 ... Success!
Disallow root login remotely? [Y/n] Y
 ... Success!
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
 ... Success!

Kořenové heslo MariaDB bylo nakonfigurováno. Nyní se přihlaste do prostředí MariaDB/MySQL a vytvořte novou databázi "wordpressdb" a nový uživatel "wpuser" s heslem "[e-mail chráněn]" pro naši instalaci WordPressu. Zvolte si pro svou instalaci bezpečné heslo!

Přihlaste se do prostředí MariaDB/MySQL:

mysql -u root -p
TYPE YOUR PASSWORD

Vytvořte novou databázi a nového uživatele:

create database wordpressdb;
create user [email protected] identified by '[email protected]';
grant all privileges on wordpressdb.* to [email protected] identified by '[email protected]';
flush privileges;
\q

MariaDB byla nainstalována a byla vytvořena nová databáze pro naši instalaci WordPress.

Krok 4 – Instalace HHVM

Pro instalaci HHVM musíme nainstalovat mnoho závislostí. HHVM můžeme nainstalovat ze zdroje stažením zdroje z githubu nebo instalací předem sestavených balíčků, které jsou dostupné na internetu. V tomto tutoriálu nainstaluji HHVM z předem sestavených balíčků.

Nainstalujte závislosti pro instalaci HHVM

yum -y install cpp gcc-c++ cmake git psmisc {binutils,boost,jemalloc,numactl}-devel \
{ImageMagick,sqlite,tbb,bzip2,openldap,readline,elfutils-libelf,gmp,lz4,pcre}-devel \
lib{xslt,event,yaml,vpx,png,zip,icu,mcrypt,memcached,cap,dwarf}-devel \
{unixODBC,expat,mariadb}-devel lib{edit,curl,xml2,xslt}-devel \
glog-devel oniguruma-devel ocaml gperf enca libjpeg-turbo-devel openssl-devel \
mariadb mariadb-server libc-client make

Poté nainstalujte předem sestavené balíčky HHVM z tohoto webu pomocí příkazu rpm.

rpm -Uvh http://mirrors.linuxeye.com/hhvm-repo/7/x86_64/hhvm-3.15.2-1.el7.centos.x86_64.rpm
ln -s /usr/local/bin/hhvm /bin/hhvm

HHVM byl nainstalován, zkontrolujte jej pomocí příkazu níže:

hhvm --version

Aby bylo možné použít příkaz php, můžeme příkaz hhvm nastavit jako php. Takže když napíšete 'php' do shellu, uvidíte stejný výsledek jako z příkazu hhvm.

sudo update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
php --version

Krok 5 – Konfigurace HHVM

V tomto kroku nakonfigurujeme HHVM. Budeme provozovat hhvm jako systemd službu. Místo toho, abychom ho spouštěli na systémovém portu, spustíme hhvm na souboru soketu unix, který je rychlejší.

Přejděte do adresáře systemd a vytvořte soubor hhvm.service.

cd /etc/systemd/system/
vim hhvm.service

Do tohoto souboru vložte níže uvedenou konfiguraci služby.

[Unit]
Description=HHVM HipHop Virtual Machine (FCGI)
After=network.target nginx.service mariadb.service

[Service]
ExecStart=/usr/local/bin/hhvm --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/hhvm.sock

[Install]
WantedBy=multi-user.target

Uložte soubor a ukončete vim.

Dále přejděte do adresáře hhvm a upravte soubor server.ini.

cd /etc/hhvm/
vim server.ini

Nahraďte hhvm.server.port na řádku 7 konfigurací soketu unix níže:

hhvm.server.file_socket = /var/run/hhvm/hhvm.sock

Uložte soubor a ukončete editor.

V souboru služby hhvm jsme definovali, že hhvm běží pod uživatelem 'nginx', takže musíme změnit vlastníka adresáře souboru soketu na uživatele 'nginx'. Potom musíme změnit kontext SELinux v adresáři hhvm, abychom umožnili přístup k souboru soketu.

chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

Po restartování serveru hhvm nepoběží, protože neexistuje žádný adresář pro soubor soketu, takže jej musíme vytvořit automaticky při spouštění.

Upravte soubor rc.local pomocí vim.

vim /etc/rc.local

Vložte konfiguraci níže na konec řádku.

mkdir -p /var/run/hhvm/
chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

Uložte soubor a ukončete vim. Nastavte soubor jako spustitelný.

chmod +x /etc/rc.local

Znovu načtěte službu systemd, spusťte hhvm a přidejte ji, aby se spustila při spouštění.

systemctl daemon-reload
systemctl start hhvm
systemctl enable hhvm

Ujistěte se, že nedošlo k žádné chybě. Zkontrolujte, zda hhvm běží pod souborem soketu pomocí příkazu netstat.

netstat -pl | grep hhvm

Krok 6 – Konfigurace HHVM a Nginx

V tomto kroku nakonfigurujeme HHVM tak, aby běžel s webovým serverem Nginx. Potřebujeme vytvořit nový konfigurační soubor hhvm v adresáři Nginx.

Přejděte do adresáře /etc/nginx a vytvořte soubor hhvm.conf.

cd /etc/nginx/
vim hhvm.conf

Vložte konfiguraci níže:

location ~ \.(hh|php)$ {
    root /usr/share/nginx/html;
    fastcgi_keep_conn on;
    fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

Uložte a ukončete.

Dále upravte soubor nginx.conf a přidejte řádek konfigurace hhvm.

vim nginx.conf

Přidejte konfiguraci do řádku direktivy serveru 57.

include /etc/nginx/hhvm.conf;

Uložte a ukončete.

Poté změňte kontext SELinux v konfiguračním souboru hhvm.

semanage fcontext -a -t httpd_config_t /etc/nginx/hhvm.conf
restorecon -v /etc/nginx/hhvm.conf

Otestujte konfiguraci Nginx a restartujte službu.

nginx -t
systemctl restart nginx

Ujistěte se, že nedošlo k chybě.

Krok 7 – Vytvoření virtuálního hostitele pomocí HHVM a Nginx

V tomto kroku vytvoříme novou konfiguraci virtuálního hostitele pomocí Nginx a hhvm. Budu používat název domény "natsume.co" pro tento příklad. Použijte prosím svůj vlastní název domény a nahraďte jej v konfiguračních souborech a instalaci WordPress, kdekoli se objeví.

Přejděte do adresáře nginx conf.d, kde budeme ukládat soubor virtuálního hostitele:

cd /etc/nginx/conf.d/

Vytvořte novou konfiguraci "natsume.conf" pomocí vim:

vim natsume.conf

Vložte konfiguraci virtuálního hostitele níže:

server {
    listen       80;
    server_name  natsume.co;

    # note that these lines are originally from the "location /" block
    root   /var/www/hakase;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    location = /50x.html {
        root /var/www/hakase;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Uložte a ukončete.

V naší konfiguraci virtuálního hostitele jsme definovali webový kořenový adresář pro název domény jako adresář „/var/www/hakase“. Tento adresář ještě neexistuje, takže jej musíme vytvořit a změnit vlastnictví na uživatele a skupinu nginx.

mkdir -p /var/www/hakase
chown -R nginx:nginx /var/www/hakase

Dále nakonfigurujte kontext SELinux pro soubor a adresář.

semanage fcontext -a -t httpd_config_t "/etc/nginx/conf.d(/.*)?"
restorecon -Rv /etc/nginx/conf.d

Nakonec otestujte konfiguraci nginx, abyste se ujistili, že nedochází k chybě, a poté restartujte nginx:

nginx -t
systemctl restart nginx

Krok 8 – Instalace WordPress

V kroku 5 jsme vytvořili konfiguraci virtuálního hostitele pro naši instalaci WordPress. Nyní si musíme stáhnout WordPress a upravit konfiguraci databáze pomocí databáze a uživatele, které jsme vytvořili v kroku 3.

Přejděte do kořenového adresáře webu „/var/www/hakase“ a stáhněte si WordPress pomocí příkazu wget:

cd /var/www/hakase
wget wordpress.org/latest.tar.gz

Extrahujte „latest.tar.gz“  a přesuňte všechny soubory a adresáře WordPress do aktuálního adresáře:

tar -xzvf latest.tar.gz
mv wordpress/* .

Dále zkopírujte soubor „wp-config-sample.php“ do „wp-config.php“ a upravte jej pomocí vim:

cp wp-config-sample.php wp-config.php
vim wp-config.php

Nastavte DB_NAME na "wordpressdb" , DB_USER na "wpuser" a DB_PASSWORD na „[e-mail chráněn]“ .

define('DB_NAME', 'wordpressdb');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', '[email protected]');
define('DB_HOST', 'localhost');

Uložte a ukončete.

Změňte kontext SELinux pro adresář WordPress.

semanage fcontext -a -t httpd_sys_content_t "/var/www/hakase(/.*)?"
restorecon -Rv /var/www/hakase

Nyní otevřete webový prohlížeč a do adresního řádku zadejte název vaší domény wordpress, moje je „natsume.co“.

Vyberte anglický jazyk a klikněte na 'Pokračovat '.

Vyplňte název a popis webu svými údaji a klikněte na „Instalovat Wordpress“.

Počkejte na dokončení instalace. Zobrazí se stránka níže, kliknutím na „Přihlásit se“ se přihlaste do administračního panelu WordPress:

Zadejte své administrátorské uživatelské jméno a heslo a poté znovu klikněte na „Přihlásit se“.

Nyní jste na hlavním panelu správce WordPress.

Domovská stránka Wordpressu.

Wordpress s Nginx a HHVM na CentOS 7 byl úspěšně nainstalován.


Cent OS
  1. Jak nainstalovat WordPress Multisite na Centos VPS s Nginx

  2. Nainstalujte Magento na CentOS 7 s Nginx, PHP-FPM a MariaDB

  3. Nainstalujte WordPress s HHVM, Nginx a MariaDB na Ubuntu 12.04 LTS

  1. Jak nainstalovat WordPress s Nginx na CentOS 7

  2. Jak nainstalovat Nextcloud s Nginx a PHP 7.3 na CentOS 8

  3. Jak nainstalovat WordPress s HHVM a Nginx na OpenSUSE Leap 42.1

  1. Jak nainstalovat ownCloud 9.1 s Nginx a MariaDB na CentOS 7

  2. Jak nainstalovat Nextcloud s Nginx a PHP7-FPM na CentOS 7

  3. Jak nainstalovat Laravel 5.x s Nginx a PHP-FPM 7.1 na CentOS 7