GNU/Linux >> Belajar Linux >  >> Cent OS

Jalankan WordPress+W3TotalCache dengan LEMP (Nginx, PHP-FPM+APC dan MySQL) stack di CentOS 6 VPS untuk performa maksimal

Nginx adalah gratis, open-source, server web HTTP berkinerja tinggi yang tidak seperti beberapa web-server lain, tidak bergantung pada penanganan permintaan berulir tetapi menggunakan event yang jauh lebih terukur (asynchronous ) arsitektur.

Ini menggunakan jumlah memori yang sangat kecil dan dapat diprediksi di bawah beban berat. Nginx dalam kombinasi dengan Pengelola Proses FastCGI yang sederhana dan sangat kuat untuk PHP (PHP-FPM ) dan server database paling populer di dunia MySQL dapat memberi Anda banyak kekuatan dan kinerja sambil tetap menggunakan jejak memori yang kecil.

Artikel berikut adalah semua tentang cara menginstal dan mengonfigurasi LEMP Stack pada VPS CentOS 6 dan host WordPress yang sangat cepat aplikasi web bertenaga.

Artikel ini dibagi menjadi beberapa bagian berikut:

  • Penyiapan awal
  • Instal dan konfigurasikan Nginx
  • Instal dan konfigurasi MySQL
  • Instal dan konfigurasikan PHP-FPM
  • Menginstal dan menyiapkan WordPress
  • Siapkan cache untuk performa terbaik
Sebelum melanjutkan instalasi, jalankan sesi screen dengan menjalankan:
## screen -U -S lemp-stack

Setelah Anda berada di sesi layar, pastikan CentOS 6 VPS Anda sepenuhnya terbaru dengan menjalankan:

## pembaruan enak

jika Anda telah menginstal Apache di VPS Anda, hentikan dan hapus dengan menjalankan:

## /etc/init.d/httpd stop## yum hapus httpd
LANGKAH 1) Instal dan konfigurasikan Nginx

aktifkan repositori epel dengan menjalankan:

temukan arsitektur VPS Anda dengan menjalankan uname -m

– VPS 32bit:

## 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

– VPS 64bit:

## 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

verifikasi semuanya terbaru

## pembaruan enak

Instal Nginx melalui yum dengan menjalankan:

## yum install nginx

Arahkan ke direktori konfigurasi Nginx di /etc/nginx/ dan edit nginx.conf dengan editor favorit Anda:

## 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 notice;#error_log /var/log/nginx/error.log info;pid /var/run/nginx.pid;events { worker_connections 1024;}http { include /etc/nginx/mime.types; aplikasi default_type/aliran oktet; 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; kirim file pada; #tcp_nopush aktif; #keepalive_timeout 0; keepalive_timeout 30; server_token nonaktif; gzip aktif; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; gzip_http_versi 1.1; gzip_vary aktif; gzip_proksi apa saja; gzip_comp_level 6; gzip_buffers 16 8k; teks gzip_types/teks biasa/aplikasi css/aplikasi json/teks x-javascript/aplikasi xml/aplikasi xml/xml+teks rss/aplikasi javascript/teks javascript/x-js; # situs yang diaktifkan termasuk /etc/nginx/sites-enabled/*;}

buat sites-enabled dan sites-available di dalam /etc/nginx direktori:

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

set-up default Nginx virtual host directive dengan menambahkan berikut ini di /etc/nginx/sites-available/default.conf

server { dengarkan 80 default_server; nama server _; lokasi / { root /usr/share/nginx/html; indeks index.html index.htm; } error_page 404 /404.html; lokasi =/404.html { root /usr/share/nginx/html; } error_page 500 502 503 504 /50x.html; lokasi =/50x.html { root /usr/share/nginx/html; }}

aktifkan arahan host virtual Nginx default dengan membuat tautan simbolis ke konfigurasi vhost default di /etc/nginx/sites-enabled/

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

uji konfigurasi Nginx, tambahkan ke startup sistem Anda dan terakhir jalankan dengan:

## nginx -t## /etc/init.d/nginx restart## chkconfig nginx aktif
LANGKAH 2) Instal dan konfigurasi MySQL

instal server database MySQL, mulai dan tambahkan ke sistem Anda start-up dengan menjalankan perintah berikut:

## yum install mysql mysql-server## service mysqld restart## chkconfig mysqld on

selanjutnya, jalankan perintah di bawah ini untuk mengatur MySQL

## mysql_secure_installation
Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada):Atur kata sandi root? [Y/n] yHapus pengguna anonim? [Y/n] yLarang login root dari jarak jauh? [Y/n] yHapus database pengujian dan akses ke sana? [Y/n] yMuat ulang tabel hak istimewa sekarang? [Y/n] y

pastikan MySQL Anda tidak terbuka untuk mendengarkan IP publik server Anda dengan menambahkan yang berikut ke /etc/my.cnf

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

restart server database agar perubahan diterapkan dengan:

## /etc/init.d/mysqld restart
LANGKAH 3) Instal dan konfigurasikan PHP-FPM

instal PHP-FPM dan beberapa ekstensi PHP yang berguna dengan menjalankan perintah di bawah ini:

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

edit /etc/php.ini dan ubah/batalkan komentar berikut:

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

selanjutnya, edit /etc/php-fpm.conf dengan editor favorit Anda dan batalkan komentar berikut:

emergency_restart_threshold =10emergency_restart_interval =1mprocess_control_timeout =10

dengan semua itu, siapkan kumpulan PHP-FPM di /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.allowed_clients =127.0.0.1 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_workout_files_limit_core_out_takterbatas php .save_path] =/var/lib/php/sessionphp_admin_value[error_log] =/var/log/php-fpm/wordpress-error.logphp_admin_flag[log_errors] =aktif

restart PHP-FPM dan tambahkan ke startup sistem Anda:

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

pada titik ini Anda harus memiliki Nginx , MySQL dan PHP-FPM dan berjalan di server Anda. Lanjutkan dengan membuat direktif vhost untuk WordPress your Anda aplikasi:

## vim /etc/nginx/sites-available/my-wordpress.tld.conf
server { dengarkan 80; server_name my-wordpress.tld; menulis ulang ^(.*) http://www.my-wordpress.tld$1 permanen;}server { mendengarkan 80; nama_server www.wordpress.tld saya; client_max_body_size 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/; indeks index.html index.php; ### direktori root ### lokasi / { try_files $uri $uri/ /index.php?$args; } ### keamanan ### error_page 403 =404; lokasi ~ /\. { access_log off; log_not_ditemukan mati; menyangkal semua; } lokasi ~ ~$ { access_log off; log_not_ditemukan mati; menyangkal semua; } lokasi ~* wp-admin/includes { tolak semua; } lokasi ~* wp-includes/theme-compat/ { tolak semua; } lokasi ~* wp-includes/js/tinymce/langs/.*\.php { tolak semua; } lokasi /wp-includes/ { internal; } #location ~* wp-config.php { tolak semua; } lokasi ~* ^/wp-content/uploads/.*.(html|htm|shtml|php)$ { jenis { } default_type teks/polos; } # lokasi ~* wp-admin { # izinkan ; # izinkan 127.0.0.1; # tolak semua; # } ### nonaktifkan logging ### location =/robots.txt { access_log off; log_not_ditemukan mati; } lokasi =/favicon.ico { access_log off; log_not_ditemukan mati; } ### cache ### lokasi ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; kedaluwarsa maks; } lokasi ~* \.(woff|svg)$ { access_log off; log_not_ditemukan mati; berakhir 30 hari; } lokasi ~* \.(js)$ { access_log off; log_not_ditemukan mati; berakhir 7 hari; } ### blok php ### lokasi ~ \.php?$ { try_files $uri =404; termasuk 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 aktif; fastcgi_split_path_info ^(.+\.php)(.*)$; #Cegah kebocoran info versi fastcgi_hide_header X-Powered-By; }}

aktifkan direktif host virtual dan mulai ulang nginx dengan menjalankan perintah berikut:

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

uji PHP-FPM dengan membuat PHP info.php skrip di root dokumen vhost Anda di /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

akses http://my-wordpress.tld/info.php untuk menguji PHP-FPM Anda

LANGKAH 4) Siapkan WordPress

Langkah selanjutnya adalah menginstal WordPress di dalam root dokumen vhost Anda di /var/www/html/my-wordpress.tld/ . Sebelum menginstal WordPress, mari kita buat database MySQL terlebih dahulu dengan menjalankan:

## mysql -u root -p
mysql> create database wordpressDB;mysql> berikan semua di wordpressDB.* ke wpUser@localhost diidentifikasi dengan 'YOUR_PASS';mysql> quit
## cd /var/www/html/my-wordpress.tld/## wget http://wordpress.org/latest.zip## unzip recent.zip## mv wordpress/* .## rm - rf recent.zip wordpress/

selanjutnya, salin contoh konfigurasi WordPress dan atur informasi database MySQL Anda:

## 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/

buka http://my-wordpress.tld dan selesaikan instalasi WordPress Anda

LANGKAH 5) Siapkan cache untuk kinerja terbaik

Instal PHP-APC (Cache PHP Alternatif) dengan menjalankan:

## yum install php-pecl-apc

setelah APC terinstal, tambahkan berikut ini ke /etc/php.d/apc.ini

## cat> /etc/php.d/apc.ini
dan mulai ulang PHP-FPM agar perubahan diterapkan.

## /etc/init.d/php-fpm mulai ulang

periksa apakah APC dimuat dengan menjalankan:

## php -m | grep -w apc

atau dengan membuka info.php skrip di root dokumen Anda.

Hal berikutnya yang harus dilakukan adalah login ke administrasi WordPress Anda dan menginstal W3 Total Cache Plugin . Agar Plugin W3 Total Cache berfungsi, Anda harus terlebih dahulu mengaktifkan Pretty URLs di

Settings->Permalinks->Custom Structure :

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

dan kemudian lanjutkan dengan menginstal W3 Total Cache . Setelah terinstal, buka

Performance->General Settings

dan aktifkan/nonaktifkan opsi berikut:

Cache halaman:diaktifkanMetode cache halaman:Disk:EnhacedMinify:nonaktifDatabase Cache:diaktifkanMetode Cache Database:Opcode:Alternatif PHP Cache (APC)Cache Objek:enbabledObject Cache Metode:Opcode:Alternatif PHP Cache (APC)Cache Browser:dinonaktifkanCDN:ini terserah Anda.

Klik Save all settings untuk mengirimkan perubahan.

Tambahkan berikut ini di /var/www/html/my-wordpress.tld/nginx.conf

## cat> /var/www/html/my-wordpress.tld/nginx.conf
# BEGIN Lokasi Tembolok Tembolok Laman W3TC ~ /wp-content/cache/page_enhanced.*html$ { add_header Vary Cookie;}# END W3TC Tembolok Laman Cache# BEGIN Coreset Tembolok Laman 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 ~* "(comment_author |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 Inti Cache Halaman W3TC

pastikan kepemilikan root dokumen ok dengan:

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

Langkah selanjutnya adalah memberitahu Nginx untuk menggunakan file konfigurasi ini. Edit /etc/nginx/sites-enabled/my-wordpress.tld.conf dan tambahkan/batalkan komentar berikut:

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

uji file konfigurasi Nginx dan mulai ulang agar perubahan diterapkan dengan menjalankan:

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

Anda juga dapat mengedit file konfigurasi WordPress Anda /var/www/html/my-wordpress.tld/wp-config.php dan tentukan yang berikut ini sehingga WordPress tidak perlu menanyakan database untuk url situs:

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

Tentu saja, jika Anda adalah salah satu pelanggan VPS Hosting Linux kami, Anda tidak perlu melakukan semua ini, cukup tanyakan pada admin kami, duduk dan bersantailah. Admin kami akan segera menyiapkannya untuk Anda.

PS. Jika Anda menyukai posting ini, silakan bagikan dengan teman-teman Anda di jejaring sosial menggunakan tombol di sebelah kiri atau cukup tinggalkan balasan di bawah. Terima kasih.


Cent OS
  1. Instal FluxBB pada CentOS 7 VPS dengan Nginx dan PHP-FPM

  2. Instal eZ Publish Community Project pada CentOS 7 VPS dengan Nginx dan PHP-FPM

  3. Cara Instal WordPress dengan LEMP Stack di CentOS 8

  1. Jalankan Joomla dengan Nginx di Centos VPS

  2. Instal Concrete5 di Ubuntu 14.04 VPS dengan Nginx, PHP-FPM dan MySQL

  3. Cara Menginstal LEMP Stack di CentOS 7

  1. Cara Menginstal LEMP Stack (Nginx, MySQL, PHP v7) di CentOS 7

  2. Cara Menginstal Nextcloud dengan Nginx dan PHP 7.3 di CentOS 8

  3. Cara menginstal Varnish dan phpMyAdmin pada CentOS 7 VPS dengan Nginx, MariaDB dan PHP-FPM