В этой статье, мы собираемся предоставить вам шаг за шагом инструкцию по как установке WordPress с Memcached и Nginx на Ubuntu 16.04 VPS. WordPress является одной из лучших систем управления контентом с открытым исходным кодом, написанной на PHP.
Требования
На момент написания этой статьи, последняя стабильная версия WordPress 4.8 и требует:
- PHP > = 5.2.4. Кроме того, использование Memcached настоятельно рекомендуется для лучшей работы сайта;
- Веб – сервер Nginx или Apache;
- MySQL или MariaDB установленной на вашем Linux VPS.
Обновление системы
Убедитесь, что ваш список пакетов и пакеты ОС обновлены, выполнив следующие команды:
sudo apt-get update sudo apt-get upgrade
Кроме того, можно настроить автоматическое обновление.
Установка Nginx
Чтобы установить последнюю версию Nginx из официального репозитория Nginx, отредактируйте файл «/etc/apt/sources.list»:
sudo vi /etc/apt/sources.list
Добавьте следующие строки:
deb http://nginx.org/packages/ubuntu/ xenial nginx deb-src http://nginx.org/packages/ubuntu/ xenial nginx
Установите MySQL
sudo apt-get install mysql-server
Остановите и удалите службу Apache, а затем установите Nginx на виртуальный сервер с помощью следующих команд:
sudo service apache2 stop sudo apt-get remove apache2 sudo apt-get autoremove sudo apt-get install nginx
Настройка Nginx для запуска при загрузке:
sudo update-rc.d -f nginx defaults
Установка Memcached, PHP 7 и модулей PHP:
sudo apt-get install memcached php-memcache php-memcached php7.0 php7.0-cli php7.0-fpm php7.0-curl php7.0-mbstring php7.0-mysql php7.0-gd php7.0-zip php7.0-intl php7.0-mcrypt libgd-tools libmcrypt-dev mcrypt php-pear libgd-dev php-pear php7.0-dev
Запустите процедуру установки WordPress
Загрузите последнюю версию WordPress, имеющуюся на официальном сайте в каталоге вашего виртуального сервера, а затем извлеките ее, используя следующие команды:
sudo apt-get install wget unzip cd /opt/ wget https://wordpress.org/latest.zip unzip latest.zip mv /opt/wordpress/ /var/www/html/wordpress/
WordPress требует для своей работы базу данных, где сохраняются данные, таким образом, создайте новую базу данных MySQL:
mysql -u root -p mysql> create database wpdb; mysql> GRANT ALL PRIVILEGES ON wpdb.* TO 'wpuser'@'localhost' IDENTIFIED BY 'Y0Ur_Pa5sw0rD'; mysql> flush privileges; mysql> quit
Добавьте имя пользователя, пароль и имя базы данных MySQL для файла конфигурации WordPress:
mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
vi /var/www/html/wordpress/wp-config.php
define('DB_NAME', 'wpdb'); define('DB_USER', 'wpuser'); define('DB_PASSWORD', 'Y0Ur_Pa5sw0rD');
Создайте новый файл конфигурации Nginx и добавьте следующий виртуальный блок для вашего доменного имени:
vi /etc/nginx/sites-available/your-domain.ru.conf
Добавьте следующие строки:
server { listen 80; server_name your-domain.ru; root /var/www/html/wordpress/; index index.php; access_log /var/log/nginx/your-domain.ru-access.log; error_log /var/log/nginx/your-domain.ru-error.log; charset en_us.UTF-8; location / { try_files $uri $uri/ /index.php?$args; } location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 365d; }location ~* \.(pdf)$ { expires 30d; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Не забудьте заменить «your-domain.ru» на действительное имя домена. Затем отключите файл конфигурации Nginx «по умолчанию»:
rm /etc/nginx/sites-enabled/default
Включить новый конфигурационный файл Nginx:
ln -sf /etc/nginx/sites-available/your-domain.ru.conf /etc/nginx/sites-enabled/
Откройте файл «/etc/php/7.0/fpm/pool.d/www.conf» и измените переменную ‘listen’:
listen = /run/php/php7.0-fpm.sock
на:
listen = 127.0.0.1:9000;
Найдите файл конфигурации PHP:
# php -i | grep -i php.ini Configuration File (php.ini) Path => /etc/php/7.0/cli Loaded Configuration File => /etc/php/7.0/cli/php.ini
Отредактируйте файл конфигурации «/etc/php/7.0/cli/php.ini»:
vi /etc/php/7.0/cli/php.ini
Добавьте/измените следующие параметры:
max_execution_time = 300 max_input_time = 600 memory_limit = 256M post_max_size = 64M upload_max_filesize = 64M
Отредактируйте файл конфигурации «memcache.ini»:
vi /etc/php/7.0/mods-available/memcache.ini
добавьте следующие строки в конце:
session.save_handler = memcache session.save_path = "tcp://localhost:11211"
Отредактируйте файл /etc/memcached.conf и увеличьте объем памяти Memcached до 128 МБ или выше:
-m 64
на:
-m 128
Пользователь веб-сервера (www-data) необходимо, чтобы иметь возможность записывать файлы и каталоги внутри каталога ‘/var/www/html/wordpress’, выполнив следующую команду:
sudo chown www-data:www-data -R /var/www/html/wordpress/
Отредактируйте конфигурационный файл Nginx (/etc/nginx/nginx.conf) и добавьте «gzip_vary на» в блок «HTTP»:
vi /etc/nginx/nginx.conf gzip_vary on
Проверьте конфигурацию Nginx:
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Если проверка прошла успешно, перезапустите Memcached, php7.0-FPM и услуги Nginx для того, чтобы изменения вступили в силу:
sudo service memcached restart sudo service php7.0-fpm restart sudo service nginx restart
Откройте http://your-domain.ru/ используя ваш любимый веб-браузер и следуйте простым инструкциям. После установки, войдите в панель администратора и настройте в соответствии с вашими потребностями.
Установка и настройка W3 Total Cache использовать Memcached
Откройте http://your-domian.ru/wp-admin/plugins.php >> Add New >> Search for ‘W3 Total Cache’ >> и нажмите кнопку ‘Установить сейчас’ рядом с названием ‘W3 Total Cache’ >> и Activate.
Откройте http://your-domian.ru/wp-admin/plugins.php >> нажмите «Настройки» в разделе W3 Total Cache:
- Minify
Minify: select 'Enable' Minify Cache Method: Memcached
Нажмите кнопку “Сохранить все настройки”.
- Cache Object
Object Cache: select 'Enable' Object Cache Method : Memcached
Нажмите кнопку “Сохранить все настройки”.
Все. Установка WordPress с Memcached и Nginx завершена.