GNU/Linux >> Znalost Linux >  >> Cent OS

Spusťte WordPress+W3TotalCache se zásobníkem LEMP (Nginx, PHP-FPM+APC a MySQL) na CentOS 6 VPS pro maximální výkon

Nginx je bezplatný vysoce výkonný webový server HTTP s otevřeným zdrojovým kódem který se na rozdíl od některých jiných webových serverů nespoléhá na zpracování požadavků pomocí vláken, ale místo toho používá mnohem škálovatelnější událost řízenou (asynchronní ) architektura.

To využívá velmi malé a předvídatelné množství paměti při velkém zatížení. Nginx v kombinaci s jednoduchým a velmi robustním FastCGI Process Manager pro PHP (PHP-FPM ) a světově nejpopulárnější databázový server MySQL vám může poskytnout spoustu energie a výkonu a přitom stále využívat malou paměť.

Následující článek je celý o tom, jak nainstalovat a nakonfigurovat LEMP Stack na CentOS 6 VPS a hostujte bleskově rychlý WordPress poháněné webové aplikace.

Článek je rozdělen do následujících sekcí:

  • Počáteční nastavení
  • Nainstalujte a nakonfigurujte Nginx
  • Nainstalujte a nakonfigurujte MySQL
  • Nainstalujte a nakonfigurujte PHP-FPM
  • Nainstalujte a nastavte WordPress
  • Pro nejlepší výkon nastavte ukládání do mezipaměti
Než budete pokračovat v instalaci, spusťte relaci obrazovky spuštěním:
## screen -U -S lemp-stack

Jakmile jste v relaci obrazovky, ujistěte se, že je váš CentOS 6 VPS plně aktuální, a to provedením:

## aktualizace yum

pokud máte na svém VPS nainstalovaný Apache, zastavte jej a odeberte jej spuštěním:

## /etc/init.d/httpd stop## yum remove httpd
KROK 1) Nainstalujte a nakonfigurujte Nginx

povolte úložiště epel spuštěním:

najděte svou architekturu VPS spuštěním uname -m

– 32bitový VPS:

## wget -P /tmp http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm## rpm -Uvh /tmp/epel-release-6 -8.noarch.rpm## rm -f /tmp/epel-release-6-8.noarch.rpm

– 64bitový VPS:

## wget -P /tmp http://mirror.itc.virginia.edu/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm## rpm -Uvh /tmp/epel -release-6-8.noarch.rpm## rm -f /tmp/epel-release-6-8.noarch.rpm

ověřte, že je vše aktuální

## aktualizace yum

Nainstalujte Nginx přes yum spuštěním:

## yum nainstalovat nginx

Přejděte do konfiguračního adresáře Nginx v /etc/nginx/ a upravte nginx.conf s vaším oblíbeným editorem:

## cd /etc/nginx/## vim nginx.conf
user nginx;worker_processes 2;error_log /var/log/nginx/error.log;#error_log /var/log/nginx/error.log notification;#error_log /var/log/nginx/error.log info;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; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 30; server_tokens off; gzip zapnutý; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; gzip_http_verze 1.1; gzip_vary on; gzip_proxed 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; # povolené weby zahrnují /etc/nginx/sites-enabled/*;}

vytvořit sites-enabled a sites-available uvnitř /etc/nginx adresář:

## mkdir -p /etc/nginx/sites-available /etc/nginx/sites-enabled

nastavte výchozí direktivu virtuálního hostitele Nginx přidáním následujícího do /etc/nginx/sites-available/default.conf

server { listen 80 default_server; název_serveru _; umístění / { root /usr/share/nginx/html; index index.html index.htm; } chybová_stránka 404 /404.html; umístění =/404.html { root /usr/share/nginx/html; } chybová_stránka 500 502 503 504 /50x.html; umístění =/50x.html { root /usr/share/nginx/html; }}

povolte výchozí direktivu virtuálního hostitele Nginx vytvořením symbolického odkazu na výchozí konfiguraci vhost v /etc/nginx/sites-enabled/

## cd /etc/nginx/sites-enabled## ln -s /etc/nginx/sites-available/default.conf

otestujte konfiguraci Nginx, přidejte ji do spuštění systému a nakonec ji spusťte:

## nginx -t## /etc/init.d/nginx restart## chkconfig nginx on
KROK 2) Nainstalujte a nakonfigurujte MySQL

nainstalujte databázový server MySQL, spusťte jej a přidejte jej do spouštění systému spuštěním následujících příkazů:

## yum install mysql mysql-server## služba mysqld restart## chkconfig mysqld on

dále spusťte níže uvedený příkaz, abyste nastavili MySQL

## mysql_secure_installation
Zadejte aktuální heslo pro uživatele root (zadejte pro žádné):Nastavit heslo uživatele root? [A/N] yOdebrat anonymní uživatele? [A/n] yZakázat vzdálené přihlášení root? [A/N] yOdebrat testovací databázi a získat k ní přístup? [A/n] yNačíst nyní tabulky oprávnění? [A/n] y

ujistěte se, že vaše MySQL není vystaveno naslouchání na veřejné IP vašeho serveru přidáním následujícího do /etc/my.cnf

## vim /etc/my.cnf[mysqld]bind-address =127.0.0.1...

restartujte databázový server, aby se změny projevily do:

## /etc/init.d/mysqld restart
KROK 3) Nainstalujte a nakonfigurujte PHP-FPM

nainstalujte PHP-FPM a některá užitečná rozšíření PHP provedením příkazu níže:

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

upravit /etc/php.ini a změňte/odkomentujte následující:

cgi.fix_pathinfo=0date.timezone =Amerika/New_Yorkmemory_limit =64Mexpose_php =Vypnuto

dále upravte /etc/php-fpm.conf s vaším oblíbeným editorem a odkomentujte následující:

emergency_restart_threshold =10emergency_restart_interval =1mprocess_control_timeout =10

s tím vším na svém místě nastavte fond PHP-FPM v /etc/php-fpm.d/www.conf :

## mv /etc/php-fpm.d/www.conf /root/## vim /etc/php-fpm.d/www.conf
[wordpress];listen =127.0.0.1:9001listen =/var/run/php-wordpress.socketuser =nginxgroup =nginxrequest_slowlog_timeout =5sslowlog =/var/log/php-fpm/blogcms.loglisten =107.1 klientů pm =dynamicpm.max_children =10pm.start_servers =3pm.min_spare_servers =2pm.max_spare_servers =4pm.max_requests =400listen.backlog =-1pm.status_path =/statusrequest_terminate_timeout =120srlimit_files =131072rlimit_core =unlimitedcatch_workers_output =yesphp_value[session.save_handler] =filesphp_value[session .save_path] =/var/lib/php/sessionphp_admin_value[error_log] =/var/log/php-fpm/wordpress-error.logphp_admin_flag[log_errors] =on

restartujte PHP-FPM a přidejte jej do spuštění systému:

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

v tomto okamžiku byste měli mít Nginx , MySQL a PHP-FPM na vašem serveru. Pokračujte ve vytváření direktivy vhost pro váš WordPress aplikace:

## vim /etc/nginx/sites-available/my-wordpress.tld.conf
server { poslouchat 80; název_serveru my-wordpress.tld; přepsat ^(.*) http://www.my-wordpress.tld$1 permanent;}server { poslouchat 80; název_serveru www.my-wordpress.tld; client_max_body_velikost 5m; client_body_timeout 60; access_log /var/log/nginx/my-wordpress.tld-access; error_log /var/log/nginx/my-wordpress.tld-error error; root /var/www/html/my-wordpress.tld/; index index.html index.php; ### kořenový adresář ### umístění / { try_files $uri $uri/ /index.php?$args; } ### zabezpečení ### error_page 403 =404; umístění ~ /\. { access_log off; log_not_found off; popřít vše; } umístění ~ ~$ { access_log off; log_not_found off; popřít vše; } umístění ~* wp-admin/includes { deny all; } umístění ~* wp-includes/theme-compat/ { deny all; } umístění ~* wp-includes/js/tinymce/langs/.*\.php { deny all; } umístění /wp-includes/ { interní; } #location ~* wp-config.php { zakázat vše; } umístění ~* ^/wp-content/uploads/.*.(html|htm|shtml|php)$ { types { } default_type text/plain; } # umístění ~* wp-admin { # allow ; # povolit 127.0.0.1; # zakázat vše; # } ### zakázat protokolování ### location =/robots.txt { access_log off; log_not_found off; } location =/favicon.ico { access_log off; log_not_found off; } ### cache ### umístění ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; vyprší max; } umístění ~* \.(woff|svg)$ { access_log off; log_not_found off; vyprší 30d; } umístění ~* \.(js)$ { odhlášení_přístupu; log_not_found off; vyprší 7d; } ### php blok ### umístění ~ \.php?$ { try_files $uri =404; zahrnout fastcgi_params; #fastcgi_pass 127.0.0.1:9001; 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)(.*)$; #Zabránit úniku informací o verzi fastcgi_hide_header X-Powered-By; }}

povolte direktivu virtuálního hostitele a restartujte nginx spuštěním následujících příkazů:

## cd /etc/nginx/sites-enabled## ln -s /etc/nginx/sites-available/my-wordpress.tld.conf## nginx -t## /etc/init.d/nginx restartovat

otestujte PHP-FPM vytvořením PHP info.php skript v kořenovém adresáři vašeho dokumentu vhost v /var/www/html/my-wordpress.tld/ :

## mkdir -p /var/www/html/my-wordpress.tld/## cd /var/www/html/my-wordpress.tld/## echo -e " info.php

přejděte na http://my-wordpress.tld/info.php k otestování vašeho PHP-FPM

KROK 4) Nastavte WordPress

Dalším krokem je instalace WordPressu do kořenového adresáře vašeho dokumentu vhost v /var/www/html/my-wordpress.tld/ . Před instalací WordPressu nejprve vytvořte databázi MySQL spuštěním:

## mysql -u root -p
mysql> vytvořit databázi wordpressDB;mysql> udělit vše na wordpressDB.* uživateli wpUser@localhost identifikovanému pomocí 'YOUR_PASS';mysql> ukončit
## cd /var/www/html/my-wordpress.tld/## wget http://wordpress.org/latest.zip## rozbalte nejnovější.zip## mv wordpress/* .## rm - rf nejnovější.zip wordpress/

dále zkopírujte ukázkovou konfiguraci WordPress a nastavte informace o databázi MySQL:

## cp wp-config-sample.php wp-config.php## vim wp-config.php
define('DB_NAME', 'wordpressDB');define('DB_USER', 'wpUser');define('DB_PASSWORD', 'YOUR_PASS');
## chown nginx:-R /var/www/html/my-wordpress.tld/

otevřete http://my-wordpress.tld a dokončete instalaci WordPress

KROK 5) Nastavení mezipaměti pro nejlepší výkon

Nainstalujte PHP-APC (Alternative PHP Cache) spuštěním:

## yum nainstalovat php-pecl-apc

po instalaci APC přidejte následující do /etc/php.d/apc.ini

## cat> /etc/php.d/apc.ini
rozšíření =apc.soapc.enabled=1apc.shm_segments=1apc.shm_size=128Mapc.num_files_hint=1024apc.user_entries_hint=4096apc.ttl=7200apcault.use_request_time_0default.20apc.00che_01apc. .mmap_file_mask=/tmp/apc.XXXXXXapc.file_update_protection=2apc.enable_cli=0apc.max_file_size=1Mapc.stat=1apc.stat_ctime=0apc.canonicalize=0apc.write_lock=1apc.report_arfc18=1apc.report_arfcfilter1=06. rfc1867_name=APC_UPLOAD_PROGRESSapc.rfc1867_freq=0apc.rfc1867_ttl=3600apc.include_once_override=0apc.lazy_classes=0apc.lazy_functions=0apc.lazy_functions=0apc.lazy_functions=0apc.lazy_functions=0apc.lazy_functions=0apc.lazy_functions=0apc. 

a restartujte PHP-FPM aby se změny projevily.

## /etc/init.d/php-fpm restart

zkontrolujte, zda APC se načte spuštěním:

## php -m | grep -w apc

nebo otevřením info.php skript v kořenovém adresáři vašeho dokumentu.

Další věcí, kterou musíte udělat, je přihlásit se do své administrace WordPress a nainstalovat W3 Total Cache Plugin . Aby plugin W3 Total Cache fungoval, musíte nejprve povolit Pretty URLs v

Settings->Permalinks->Custom Structure :

http://my-wordpress.tld/%postname%/

a poté pokračujte v instalaci W3 Total Cache . Po instalaci přejděte na

Performance->General Settings

a povolit/zakázat následující možnosti:

Metoda mezipaměti stránky:enabledMetoda mezipaměti stránky:Disk:EnhacedMinify:disabledDatabázová mezipaměť:enabledMetoda mezipaměti databáze:Opcode:Alternativní PHP mezipaměť (APC)Object Cache:enbabledObject Metoda mezipaměti:Opcode:Alternativní PHP mezipaměť (APC)Browser:disabledCDN:toto je na vás.

Klikněte na Save all settings odešlete změny.

Přidejte následující do /var/www/html/my-wordpress.tld/nginx.conf

## cat> /var/www/html/my-wordpress.tld/nginx.conf
# BEGIN Umístění mezipaměti stránky W3TC ~ /wp-content/cache/page_enhanced.*html$ { add_header Vary Cookie;# END Mezipaměť mezipaměti stránky W3TC# BEGIN Základní sada mezipaměti stránky W3TC $w3tc_rewrite 1;if ($request_method =POST ) { set $w3tc_rewrite 0;}if ($query_string !="") { set $w3tc_rewrite 0;}if ($request_uri !~ \/$) { set $w3tc_rewrite 0;}if ($http_cookie ~* "(autor komentáře |wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle)") { set $w3tc_rewrite 0;}if (!-f "$document_root/wp-content/cache/page_enhanced/$http_host/$request_uri/_index.html") set $w3tc_rewrite 0;}if ($w3tc_rewrite =1) { rewrite .* "/wp-content/cache/page_enhanced/$http_host/$request_uri/_index.html" last;# END Jádro mezipaměti stránky W3TC

ujistěte se, že vlastnictví kořenového adresáře dokumentu je v pořádku:

## chown nginx:-R /var/www/html/my-wordpress.tld/

Dalším krokem je říct Nginxu, aby použil tento konfigurační soubor. Upravit /etc/nginx/sites-enabled/my-wordpress.tld.conf a přidejte/odkomentujte následující:

include /var/www/html/my-wordpress.tld/nginx.conf;...location ~* wp-config.php { deny all; }

otestujte konfigurační soubor Nginx a restartujte jej, aby se změny projevily provedením:

## nginx -t## /etc/init.d/nginx restart

Můžete také upravit konfigurační soubor WordPress /var/www/html/my-wordpress.tld/wp-config.php a definujte následující, takže WordPress nebude muset dotazovat databázi na adresu URL webu:

define('WP_HOME', 'http://my-wordpress.tld');define('WP_SITEURL', 'http://my-wordpress.tld');

Samozřejmě, pokud jste jedním z našich zákazníků Linux VPS Hosting, nemusíte nic z toho dělat, jednoduše se zeptejte našich administrátorů, posaďte se a relaxujte. Naši administrátoři to za vás okamžitě nastaví.

PS. Pokud se vám tento příspěvek líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.


Cent OS
  1. Spusťte Joomla s Nginx na Centos VPS

  2. Jak nainstalovat Varnish a phpMyAdmin na CentOS 7 VPS s Nginx, MariaDB a PHP-FPM

  3. Nainstalujte Concrete5 na Ubuntu 14.04 VPS s Nginx, PHP-FPM a MySQL

  1. Nainstalujte FluxBB na CentOS 7 VPS s Nginx a PHP-FPM

  2. Nainstalujte eZ Publish Community Project na CentOS 7 VPS s Nginx a PHP-FPM

  3. Jak nainstalovat WordPress s LEMP Stack na CentOS 8

  1. Jak nainstalovat LEMP Stack (Nginx, MySQL, PHP v7) na CentOS 7

  2. Jak nainstalovat Nextcloud s Nginx a PHP 7.3 na CentOS 8

  3. Jak nainstalovat LEMP Stack na CentOS 7