Speed optimization of one wordpress website

Andy Wits Blog

For one client, I worked on optimization.
Server configuration: CentOS + ISP Manager + Nginx.
Here are the steps that helped to speed up WordPress.

1. Compression and Caching

Enabled compression and caching (for 45 days) in the panel under domain settings.
Effectively, these are the Nginx settings in the config file:
/etc/nginx/vhosts/example.com/example.com.ru.conf

2. Update Nginx Version

Replaced:
nginx.x86_64 1.6.2-1.el6.ngx -> nginx.x86_64 1.12.1-1.el6.ngx

Command to update to the latest version:

yum install nginx-1.12.1-1.el6.ngx

More details: How to instruct yum to install a specific version of package.

3. Enable HTTP/2

This was configured in the Nginx configuration file.

4. Verify Nginx Version

[[email protected] ~]# nginx -V
nginx version: nginx/1.12.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'

5. Built Nginx with PageSpeed Module

Commands used:

yum install GeoIP-devel perl-ExtUtils-Embed libxslt-devel pcre-devel openssl-devel 
bash <(curl -f -L -sS https://ngxpagespeed.com/install) --nginx-version latest

6. Protect the Package from Updates

Edit yum.conf to add the following line: exclude=nginx

vim /etc/yum.conf

7. Enable Gzip Vary on Nginx config

gzip_vary on;

That's all!

Published on Nov 09 2017 at 10:30 am
Time to read 2 minute(s)
Categories
  • System Administration

Contact me on