Как установить WordPress с HHVM и Nginx на OpenSUSE Leap 42.1
На этой странице
- Шаг 1. Установите Nginx
- Шаг 2. Установите и настройте MariaDB
- Шаг 3. Установите HHVM
- Шаг 4. Настройка HHVM и Nginx
- Шаг 5. Создайте виртуальный хост с HHVM и Nginx
- Шаг 6. Установите WordPress
- Справочник
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