В нашей предыдущей статье мы объяснили, как установить Многоузловой 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.