Како да инсталирате WordPress со HHVM и Nginx на OpenSUSE Leap 42.1
HHVM (HipHop Virtual Machine) е виртуелна машина со отворен код развиена од Facebook, тоа е JIT (само-на-време) компајлер за извршување на програми напишани во PHP 5 (и некои карактеристики на PHP 7) и Hack јазик. Ако сакате да извршите HHVM на вашиот сервер, можете да го користите веб-серверот базиран на FastCGI на врвот на веб-серверот Nginx или apache, или можете да го користите вградениот веб-сервер наречен \Proxygen\.
Во ова упатство, ќе ви покажам како да инсталирате WordPress (добро познат CMS базиран на PHP) со HHVM и Nginx како наш веб-сервер. Ќе користам OpenSUSE Leap 42.1 како оперативен систем, затоа е потребно основно познавање на OpenSUSE.
Предуслов
- OpenSUSE Leap 42.1 - 64bit.
- Привилегии на root.
- Основно знаење на OpenSUSE како Zypper, SuSE-firewall.
Чекор 1 - Инсталирајте Nginx
Nginx или engine-x е лесен веб-сервер со високи перформанси и мала потрошувачка на меморија. На нашиот OpenSUSE сервер, можеме да ја користиме командата zypper за да го инсталираме пакетот.
Користете \sudo su\ за да станете root корисник и инсталирајте Nginx со командата zypper на openSUSE Leap 42.1:
sudo su
zypper in nginx
Потоа одете во веб-директориумот \/srv/www/htdocs\ и креирајте нова датотека index.html.
cd /srv/www/htdocs/
echo "<h1>Nginx OpenSUSE Leap 42.1</h1>" > index.html
Додадете Nginx за да започнете при подигање и стартувајте Nginx со командата systemctl:
systemctl enable nginx
systemctl start nginx
За да се осигураме дека Nginx работи на нашиот сервер, можеме да ја посетиме IP адресата на серверот со прелистувач или да ја користиме командата curl подолу за да ги видиме резултатите:
curl 192.168.43.29
Чекор 2 - Инсталирајте и конфигурирајте го MariaDB
MariaDB е база на податоци со отворен код развиена од оригиналниот развивач на MySQL Монти Видениус, MariaDB е компатибилна со MySQL. Во овој чекор, ќе инсталираме MariaDB и ќе ја конфигурираме root лозинката за базата на податоци на MariaDB. Потоа ќе создадеме нова база на податоци и корисник што ни е потребен за нашата инсталација на WordPress.
Инсталирајте го MariaDB со ципер:
zypper in mariadb mariadb-client
Додајте MariaDB во секвенцата за подигање и потоа стартувајте ја:
systemctl enable mysql
systemctl start mysql
MariaDB е започната, сега треба да ја конфигурираме root лозинката за базата на податоци MariaDB/mysql. Извршете ја командата подолу за да поставите лозинка за root MariaDB.
/usr/bin/mysqladmin -u root password 'toor123'
Забелешка:
Лозинката на MariaDB е \toor123\, ве молиме користете друга и побезбедна лозинка на вашиот сервер.
Корената лозинка на MariaDB е конфигурирана. Сега најавете се на школка MariaDB/MySQL и креирајте нова база на податоци \wpdb\ и нов корисник \wpuser\ со лозинка \[email заштитена ]\ за нашата инсталација на WordPress. Изберете сигурна лозинка и овде на вашиот систем.
Пријавете се во школката MariaDB/MySQL:
mysql -u root -p
TYPE PASSWORD toor123
Направете нова база на податоци и нов корисник:
create database wpdb;
create user ';
flush privileges;
MariaDB е инсталирана, а новата база на податоци за нашата инсталација на WordPress е креирана.
Чекор 3 - Инсталирајте HHVM
За инсталацијата HHVM, треба да додадеме ново складиште за hhvm. Можеме да ја користиме командата zypper за да го додадеме новото складиште hhvm на серверот. Потоа мора да ги освежиме складиштата на openSUSE:
zypper addrepo http://download.opensuse.org/repositories/home:munix9/openSUSE_Leap_42.1/home:munix9.repo
zypper refresh
Внесете a за секогаш да му верувате на клучот.
Сега инсталирајте ги пакетите hhvm:
zypper in hhvm hhvm-nginx hhvm-fastcgi
hhvm-nginx обезбедува примерок од конфигурацијата Nginx.
hhvm-fastcgi ги обезбедува мета-датотеките FastCGI.
Чекор 4 - Конфигурирајте ги HHVM и Nginx
Во овој чекор, ќе го конфигурираме HHVM да работи со веб-серверот Nginx. Ќе го конфигурираме HHVM да користи Unix-сокет и ќе го стартува HHVM како корисник на Nginx. Одете во директориумот за конфигурација HHVM и уредете го серверот за конфигурациска датотека.ini со уредникот vim:
cd /etc/hhvm/
vim server.ini
Откажете ја линијата 3 за да овозможите Unix-Sockets за HHVM.
hhvm.server.file_socket = /var/run/hhvm/server.sock
Зачувај и излези.
Следно, мора да ја уредиме скриптата за услугата HHVM за да може HHVM да работи Nginxginx корисник. Важно е да го конфигурирате HHVM да работи како ист корисник од веб-серверот. Одете во директориумот systemd и уредете ја датотеката hhvm.service со vim:
cd /usr/lib/systemd/system
vim hhvm.service
Променете ја опцијата --user hhvm на линијата 11 на корисникот nginx.
ExecStart=/usr/bin/hhvm --config /etc/hhvm/php.ini --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/server.sock - vPidFile=/var/run/hhvm/server.pid
Зачувај и излези.
Сега сменете го сопственикот на директориумот \/var/run/hhvm\ во корисникот nginx.
chown -R nginx:nginx /var/run/hhvm/
Забелешка:
Откако ќе се рестартира серверот, понекогаш стандардниот сопственик на директориумот се враќа на стандардниот корисник. За да го решиме овој проблем, можеме да ја дефинираме командата Linux што треба да се изврши откако ќе се извршат сите скрипти од тековното ниво на работа.
Уредете ја датотеката after.local во директориумот \/etc/rc.d/\ и додајте нова Linux команда на крајот од датотеката:
vim /etc/rc.d/after.local
Залепете ја командата подолу:
chown -R nginx:nginx /var/run/hhvm/
Зачувај и излези.
Следно, мора да го конфигурираме HHVM да работи со Nginx. Го инсталиравме новиот пакет \hhvm-nginx\, тој содржи пример за HHVM конфигурација за веб-серверот Nginx.
Одете во директориумот за конфигурација Nginx и копирајте ја конфигурацијата HHVM:
cd /etc/nginx/
cp hhvm.conf.example hhvm.conf
Уреди hhvm.conf со vim:
vim hhvm.conf
На втората линија, додајте нова конфигурација за да го дефинирате root директориумот на веб:
root /srv/www/htdocs;
Зачувај и излези.
Потоа мора да ја уредиме конфигурацијата Nginx за да ја вклучиме конфигурацијата HHVM.
vim nginx.conf
На линија 59 - додадете ја новата конфигурациска линија подолу:
include /etc/nginx/hhvm.conf;
Зачувај и излези.
Овозможете и стартувајте го HHVM со командата systemctl подолу:
systemctl enable hhvm
systemctl start hhvm
Потоа рестартирајте го Nginx:
systemctl restart nginx
Nginx и HHVM се инсталирани и конфигурирани. За да тестираме дали работи конфигурацијата, ќе создадеме нова php-датотека која содржи phpinfo код и ќе ја зачуваме во root директориумот на веб \/srv/www/htdocs\, а потоа ќе пристапиме до неа преку веб-прелистувачот.
cd /srv/www/htdocs/
echo "<?php phpinfo(); ?>" > info.php
Отворете го вашиот прелистувач и напишете ја IP адресата на серверот:
192.168.43.29/info.php
Nginx и HHVM работат без грешки.
Чекор 5 - Создадете виртуелен домаќин со HHVM и Nginx
Во овој чекор, ќе создадеме нова конфигурација на виртуелен домаќин со Nginx и HHVM. Ќе го користам името на доменот \hakasenano.co\ за овој пример и ќе го користам како домен и за нашата инсталација на WordPress. Ве молиме заменете го името на доменот со вашето сопствено име на домен во сите конфигурациски датотеки и команди.
Одете во директориумот Nginx и креирајте нов директориум за складирање на датотеката виртуелен домаќин:
cd /etc/nginx/
mkdir vhosts.d/
cd vhosts.d/
Создајте нова конфигурациска датотека \nano.conf\ со vim:
vim nano.conf
И залепете ја новата конфигурација на виртуелен домаќин подолу:
server {
# This line for redirect non-www to www
server_name hakasenano.co;
rewrite ^(.*) http://www.hakasenano.co$1 permanent;
}
server {
listen 80;
server_name www.hakasenano.co;
root /srv/www/nano;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /srv/www/htdocs;
}
# HHVM running throught Unix-Socket
location ~ \.(hh|php)$ {
root /srv/www/nano;
fastcgi_keep_conn on;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/hhvm/server.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Зачувај и излези.
Во нашата конфигурација на виртуелен хост, го дефиниравме root директориумот на веб за името на доменот да биде директориумот \/srv/www/nano\. Овој директориум засега не постои, затоа треба да го креираме тој директориум сега.
mkdir -p /srv/www/nano/
Конечно, тестирајте ја конфигурацијата Nginx и рестартирајте ја:
nginx -t
systemctl restart nginx
Осигурете се дека командата nginx -t не прикажува порака за грешка.
Чекор 6 - Инсталирајте WordPress
На чекор 5, ја создадовме конфигурацијата на виртуелниот домаќин за нашата инсталација на WordPress. Затоа, само треба да го преземеме WordPress сега и потоа да ја уредиме конфигурацијата на базата на податоци што ја создадовме во чекор 2.
Одете во веб-основниот директориум \/srv/www/nano\ и преземете ја зип-архивата на WordPress со командата wget:
cd /srv/www/nano
wget wordpress.org/latest.zip
Извлечете \latest.zip\ и преместете ги сите датотеки и директориуми на WordPress во нано директориумот:
unzip latest.zip
mv wordpress/* .
Следно, копирајте ја датотеката \wp-config-sample.php\ во \wp-config.php\ и уредете со vim:
cp wp-config-sample.php wp-config.php
vim wp-config.php
Променете го DB_NAME во нашата база на податоци \wpdb\, DB_USER во \wpuser\ и DB_PASSWORD во \[заштитена е-пошта]\ .
define('DB_NAME', 'wpdb');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
Зачувај и излези.
Сега отворете го веб-прелистувачот и внесете го името на доменот во лентата за адреси.
Ќе бидете пренасочени на www.hakasenano.co и ќе ја видите страницата на инсталацијата.
И можете да го пополните насловот и описот на страницата со вашите информации и да кликнете \Инсталирај Wordpress\.
Почекајте додека не заврши инсталацијата и ќе ја видите страницата за најавување подолу. Кликнете на \Најави се\ за да се најавите на административната табла на WordPress:
Внесете го вашиот администраторски корисник и лозинка, а потоа повторно кликнете \Најави се\.
Сега сте во административната табла на WordPress.
Wordpress со Nginx и HHVM на OpenSUSE Leap 42.1 е инсталиран сега.
Референца
- http://stackoverflow.com/questions/7947030/nginx-no-www-to-www-and-www-to-no-www