ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить мультисайт WordPress на Centos с Nginx

Как установить мультисайт WordPress на Centos с Nginx

В нашей предыдущей статье мы объяснили, как установить Многоузловой WordPress на ваш CentOS, оснащенным веб – сервером Apache.

Сегодня мы покажем вам, как настроить Многоузловой WordPress на вашем CentOS, но с веб – сервером Nginx.

Давайте начнем.

Во-первых, остановите и удалите Apache из автозагрузки:

/etc/init.d/httpd stop
chkconfig httpd off

 

Если вы не планируете использовать его, удалите его:

yum remove httpd

 

Установите Nginx. Во-первых, проверьте правильность архитектуры системы и включите репозиторий Epel соответствующим образом:

uname -m

 

– 32-разрядные VPS (i686):

rpm -Uvh http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm

 

– 64-разрядные VPS (x86_64):

rpm -Uvh http://mirror.itc.virginia.edu/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

 

Обновите систему:

yum update

 

Установите Nginx:

yum install nginx -y

 

Изменение главного конфигурационного файла Nginx:

vim /etc/nginx/nginx.conf

 

 

user nginx;
worker_processes 2;

error_log  /var/log/nginx/error.log;

pid        /var/run/nginx.pid;

events {
worker_connections  1024; }

http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;

log_format  main  ‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;

access_log  /var/log/nginx/access.log  main;

sendfile        on;

keepalive_timeout  30;
server_tokens off;

gzip on;
gzip_disable “MSIE [1-6]\.(?!.*SV1)”;
gzip_http_version 1.1;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;

# enabled sites
include /etc/nginx/sites-enabled/*;

}

 

Создайте папки sites-enabled и sites-available внутри директории /etc/nginx:

mkdir /etc/nginx/sites-{available,enabled}

 

Настройте директиву Nginx виртуального хоста. Замените mydomain.ru.conf на ваш собственный домен:

vim /etc/nginx/sites-available/mydomain.ru.conf

 

 

 

server {
listen 80;
server_name mydomain.ru;
rewrite ^(.*) http://www.mydomain.ru$1 permanent; }

server {
listen 80;
server_name www.mydomain.ru;

client_max_body_size 5m;
client_body_timeout 60;

access_log /var/log/nginx/mydomain.ru-access;
error_log /var/log/nginx/mydomain.ru-error error;

root /var/www/html/mydomain.ru/;
index  index.html index.php;

location / {
try_files $uri $uri/ /index.php?$args; }

error_page 403 =404;
location ~ /\. { access_log off; log_not_found off; deny all; }
location ~ ~$ { access_log off; log_not_found off; deny all; }
location ~* wp-admin/includes { deny all; }
location ~* wp-includes/theme-compat/ { deny all; }
location ~* wp-includes/js/tinymce/langs/.*\.php { deny all; }
location /wp-includes/ { internal; }
location ~* ^/wp-content/uploads/.*.(html|htm|shtml|php)$ {
types { }
default_type text/plain; }

#  location ~* wp-admin {
#      allow <YOUR_IP>;
#      allow 127.0.0.1;
#      deny all; }

location = /robots.txt { access_log off; log_not_found off; }
location = /favicon.ico { access_log off; log_not_found off; }

location ~ \.php?$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass unix:/var/run/php-wordpress.socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_hide_header X-Powered-By; }
}

 

Включите директиву виртуального хоста:

cd /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/mydomain.ru.conf

 

Проверьте конфигурацию Nginx на наличие ошибок & опечаток:

nginx -t

 

Перезагрузите Nginx:

/etc/init.d/nginx restart

 

Добавьте Nginx к вашей загрузке системы:

chkconfig nginx on

 

Установите PHP-FPM. Если вы хотите узнать подробную и оптимизированную конфигурацию WordPress, найдете ее здесь.

yum install php-fpm php-mysql php-gd php-mcrypt -y

 

Изменение основного файла конфигурации PHP и убедитесь в правильном date.timzeone:

vim /etc/php.ini

 

 

cgi.fix_pathinfo=0
date.timezone = "your timezone"

 

Настройка PHP-FPM. Сделайте резервную копию оригинала:

mv -v /etc/php-fpm.d/www.conf{,.bak}

 

Затем создайте новый файл конфигурации пула, как показано ниже:

vim /etc/php-fpm.d/www.conf

 

[wordpress]
listen = /var/run/php-wordpress.socket
user = nginx
group = nginx
request_slowlog_timeout = 5s
slowlog = /var/log/php-fpm/blog.log
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 10
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 400
listen.backlog = -1
pm.status_path = /status
request_terminate_timeout = 120s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_admin_value[error_log] = /var/log/php-fpm/wp-error.log
php_admin_flag[log_errors] = on

 

Теперь перезагрузите службу PHP-FPM и добавьте его к загрузке системы:

/etc/init.d/php-fpm restart
chkconfig php-fpm on

 

Загрузите последнюю версию и установите WordPress. Для tar.gz:

wget http://wordpress.org/latest.tar.gz && tar xf latest.tar.gz -C /var/www/html/

 

или, для файла .zip:

wget http://wordpress.org/latest.zip && unzip latest.zip -d /var/www/html/

 

Установить владельца корневого каталога:

chown -R nginx: /var/www/html/wordpress/

 

Создайте новую базу данных:

# mysql -uroot -p

mysql> create database multi_my_DB;
mysql> grant all on multi_my_DB.* to my_user@localhost identified by ‘sEcReT_pASsWoRd’;
mysql> \q

 

Теперь создайте резервную копию конфигурационного файла и внесите необходимую информацию:

# cd /var/www/html/wordpress/ && cp -pv wp-config-sample.php wp-config.php

# vim /var/www/html/wordpress/wp-config.php

/** The name of the database for WordPress */
define(‘DB_NAME’, ‘multi_my_DB’);

/** MySQL database username */
define(‘DB_USER’, ‘multi’);

/** MySQL database password */
define(‘DB_PASSWORD’, ‘sEcReT_pASsWoRd’);[/GREEN]

 

Над линией /* That’s all, stop editing! Happy blogging. */, добавьте следующее:

/* My multisite config starts here */
define(‘WP_ALLOW_MULTISITE’, true);

 

Откройте свой домен в браузере, чтобы завершить установку:

Название сайта: yourdomain.ru

Этот шаг очень важен для дальнейшего использования мультисайтовой сети. Если вы хотите, чтобы сайты, которые будут созданы как субдомены (site1.yourdomain.ru, site2.yourdomain.ru и т.д.), а затем заполнить это поле только с доменом (без “www” перед ним, потому что вам, вероятно, не понравится, если URLs наших сайтов будут что-то вроде site1.www.yourdomain.ru).

Нажмите кнопку Установить.

Установка WordPress закончена. Войти по адресу: //yourdomain.ru/wp-admin и установите многоузловой сайт:

Перейти к Инструменты >> Настройка сети

Выберите предпочтительный вариант адреса. Он не может быть изменен позже.

Примечание: Для опции “поддоменов”, вам нужно подстановочную запись DNS для вашего домена.

Заполните остальные поля и нажмите кнопку Установить.

Завершите этап настройки файла.

Мы только что установили Многоузловой WordPress на вашем сервере Centos. Нажмите на ссылку Войти, чтобы снова войти в систему.

Создание новых сайтов можно сделать: My Sites >> Network Admin >> Dashboard.

Как установить мультисайт WordPress на Centos с Nginx

Exit mobile version