Thank you for reading this post, don't forget to subscribe!
Во-первых, остановите и удалите Apache из автозагрузки:
1 2 |
/etc/init.d/httpd stop chkconfig httpd off |
Если вы не планируете использовать его, удалите его:
1 |
<strong>yum remove httpd</strong> |
Установите Nginx.
Во-первых, проверьте правильность архитектуры системы и включите репозиторий Epel соответствующим образом:
1 |
uname -m |
– 32-разрядные VPS (i686):
1 |
rpm -Uvh http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm |
– 64-разрядные VPS (x86_64):
1 |
<strong>rpm -Uvh http://mirror.itc.virginia.edu/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm</strong> |
Обновите систему:
1 |
yum update |
Установите Nginx:
1 |
<strong>yum install nginx -y</strong> |
Изменение главного конфигурационного файла Nginx:
1 |
<strong>vim /etc/nginx/nginx.conf</strong> |
[spoiler]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
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/conf.d/*; } |
[/spoiler]
1 |
Настройте директиву Nginx виртуального хоста. Замените mydomain.ru.conf на ваш собственный домен:
[spoiler]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
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; } } |
[/spoiler]
1 |
Проверьте конфигурацию Nginx на наличие ошибок & опечаток:
1 |
<strong>nginx -t</strong> |
Перезагрузите Nginx:
1 |
<strong>systemctl restart nginx</strong> |
Добавьте Nginx к вашей загрузке системы:
1 |
<strong>systemctl enable nginx</strong> |
Установите PHP-FPM. Если вы хотите узнать подробную и оптимизированную конфигурацию WordPress, найдете ее здесь.
1 |
<strong>yum install php-fpm php-mysql php-gd php-mcrypt -y</strong> |
Изменение основного файла конфигурации PHP и убедитесь в правильном date.timzeone:
1 |
<strong>vim /etc/php.ini</strong> |
1 2 |
cgi.fix_pathinfo=0 date.timezone = "your timezone" |
Настройка PHP-FPM. Сделайте резервную копию оригинала:
1 |
<strong>mv -v /etc/php-fpm.d/www.conf{,.bak}</strong> |
Затем создайте новый файл конфигурации пула, как показано ниже:
1 |
<strong>vim /etc/php-fpm.d/www.conf</strong> |
[spoiler]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[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 |
[/spoiler]
Теперь перезагрузите службу PHP-FPM и добавьте его к загрузке системы:
1 2 |
<strong>systemctl enable php-fpm systemctl restart php-fpm</strong> |
Загрузите последнюю версию и установите WordPress. Для tar.gz:
1 |
<strong>wget http://wordpress.org/latest.tar.gz && tar xf latest.tar.gz -C /var/www/html/</strong> |
или, для файла .zip:
1 |
<strong>wget http://wordpress.org/latest.zip && unzip latest.zip -d /var/www/html/</strong> |
Установить владельца корневого каталога:
1 |
<strong>chown -R nginx: /var/www/html/wordpress/</strong> |
Создайте новую базу данных:
1 2 3 4 5 |
# <strong>mysql -uroot -p</strong> mysql> <strong>create database multi_my_DB;</strong> mysql> <strong>grant all on multi_my_DB.* to my_user@localhost identified by ‘sEcReT_pASsWoRd’;</strong> mysql> <strong>\q</strong> |
Теперь создайте резервную копию конфигурационного файла и внесите необходимую информацию:
1 2 3 4 5 6 7 8 9 |
# <strong>cd /var/www/html/wordpress/ && cp -pv wp-config-sample.php wp-config.php</strong> # <strong>vim /var/www/html/wordpress/wp-config.php</strong> /** The name of the database for WordPress */define(‘<strong>DB_NAME</strong>’, ‘multi_my_DB’); /** MySQL database username */define(‘<strong>DB_USER</strong>’, ‘multi’); /** MySQL database password */define(‘<strong>DB_PASSWORD</strong>’, ‘sEcReT_pASsWoRd’);[/GREEN] |
Над линией /* That’s all, stop editing! Happy blogging. */, добавьте следующее:
1 |
/* 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 для вашего домена.
Заполните остальные поля и нажмите кнопку Установить.
Завершите этап настройки файла.
Нажмите на ссылку Войти, чтобы снова войти в систему.
Создание новых сайтов можно сделать: My Sites >> Network Admin >> Dashboard.