Поиск по сайту:

Как установить WordPress с HHVM и Nginx на OpenSUSE Leap 42.1


На этой странице

  1. Шаг 1. Установите Nginx
  2. Шаг 2. Установите и настройте MariaDB
  3. Шаг 3. Установите HHVM
  4. Шаг 4. Настройка HHVM и Nginx
  5. Шаг 5. Создайте виртуальный хост с HHVM и Nginx
  6. Шаг 6. Установите WordPress
  7. Справочник

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 — 64-разрядная версия.
  • Привилегии root.
  • Базовые знания OpenSUSE, такие как Zypper, брандмауэр SuSE.

Шаг 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:

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 и отредактируйте файл конфигурации server.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   /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, и сохраним его в корневом веб-каталоге \/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; } }

Сохранить и выйти.

В нашей конфигурации виртуального хоста мы определили корневой веб-каталог для доменного имени как каталог \/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\  и загрузите zip-архив WordPress с помощью команды wget:

cd /srv/www/nano
wget wordpress.org/latest.zip

Извлеките \latest.zip\ и переместите все файлы и каталоги WordPress в каталог nano:

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 на \[email \.

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