Установка WordPress с Nginx на Ubuntu Linux

Этот туториал покажет вам все шаги, необходимые для установки WordPress с Nginx на Ubuntu Linux.

Этот учебник был протестирован на Ubuntu 18.04.

1. Установите Nginx на Ubuntu Linux

Используйте команду Ubuntu APT для установки сервера Nginx.

# apt-get update
# apt-get install nginx

Отредактируйте файл конфигурации nginx.conf.

Добавьте client_max_body_size в раздел HTTP.

Настройте максимальный размер загрузки до 32 мегабайт.

# vi /etc/nginx/nginx.conf

Вот файл с нашей конфигурацией.

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
client_max_body_size 32M;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

Перезапустите веб-сервер Nginx вручную.

# service nginx restart
# service nginx status

Проверьте статус сервиса Nginx.

● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-12-29 04:29:22 UTC; 1h 17min ago
Docs: man:nginx(8)
Process: 2233 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status
Process: 2221 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exite
Main PID: 2238 (nginx)
Tasks: 2 (limit: 1152)
CGroup: /system.slice/nginx.service
├─2238 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2239 nginx: worker process

Веб-сервер Nginx был успешно установлен.

2. Установите MySQL на Ubuntu Linux

WordPress требует системы баз данных для хранения всей своей конфигурации.

Используйте команду Ubuntu APT для установки сервера MySQL.

# apt-get update
# apt-get install mysql-server mysql-client

Используйте следующую команду для доступа к служебной консоли MySQL.

# mysql -u root -p

На консоли MySQL вам необходимо выполнить следующие задачи:

• Создать базу данных с именем WordPress.
• Создайте учетную запись пользователя MySQL с именем wordpress.
• Предоставить полный контроль над базой данных WordPress пользователю WordPress.

CREATE DATABASE wordpress CHARACTER SET UTF8 COLLATE UTF8_BIN;
CREATE USER 'wordpress'@'%' IDENTIFIED BY 'kamisama123';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'%';
FLUSH PRIVILEGES;
quit;

3. Добавьте поддержку PHP в Nginx

Nginx нужна внешняя программа для добавления поддержки PHP.

Используйте команду Ubuntu APT для установки необходимых PHP-пакетов.

# apt-get update
# apt-get install php7.2-fpm

Используйте следующую команду для установки необходимых модулей PHP.

# apt-get install php7.2-xml php7.2-curl php7.2-gd php7.2-mbstring php7.2-readline
# apt-get install php7.2-bz2 php7.2-zip php7.2-json php7.2-opcache

Найдите расположение файла конфигурации PHP в вашей системе.

Отредактируйте файл конфигурации php.ini.

# updatedb
# locate php.ini
# vi /etc/php/7.2/fpm/php.ini

Ваша версия PHP может отличаться от нашей.

Ваше местоположение файла конфигурации PHP может не совпадать с нашим.

Вот файл с нашей конфигурацией.

file_uploads = On
max_execution_time = 300
memory_limit = 256M
post_max_size = 32M
max_input_time = 60
max_input_vars = 4440
upload_max_filesize = 32M

Отредактируйте файл конфигурации веб-сайта Nginx по умолчанию.

# vi /etc/nginx/sites-available/default

Вот оригинальный файл, перед нашей конфигурацией.

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}

Вот новый файл с нашей конфигурацией.

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}

Убедитесь, что в вашем файле конфигурации Nginx нет ошибок.

# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Перезапустите службу PHP.
Перезапустите сервис Nginx.

# service php7.2-fpm restart
# service nginx restart

4. Установите WordPress на Ubuntu Linux

После завершения настройки MySQL и Apache мы можем начать установку WordPress.

Загрузите последнюю версию WordPress и распакуйте пакет.

# cd /tmp
# wget https://wordpress.org/latest.tar.gz
# tar -zxvf latest.tar.gz

Переместите папку WordPress в каталог корневого диска Apache.

Предоставьте пользователю www-data полный контроль над каталогом WordPress и его файлами.

# mv wordpress /var/www/html/
# chown www-data.www-data /var/www/html/wordpress/* -R

Создайте и отредактируйте файл конфигурации WordPress wp-config.php.

# cd /var/www/html/wordpress
# mv wp-config-sample.php wp-config.php
# vi wp-config.php

Отредактируйте информацию о соединении с базой данных MySQL, расположенную на wp-config.file.

В качестве примера, вот файл с нашей конфигурацией.

define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'kamisama123');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

Настройка WordPress в Ubuntu Linux

Откройте браузер и введите IP-адрес вашего веб-сервера плюс / wordpress.

В нашем примере в браузере был введен следующий URL:

• http://200.200.200.200/wordpress

Будет представлен мастер установки WordPress.

На следующем экране вам нужно будет ввести информацию о вашем сайте.

На следующем экране вы получите подтверждение вашей установки WordPress.

Нажмите на кнопку Войти и введите учетную запись администратора и пароль.

После успешного входа в систему будет отображена панель управления WordPress.