Kompilacja nginx-1.9.4 z modułem PageSpeed na CentOS 7

hqdefault

Witam,

Dziś znów idziemy za ciosem poradników z serwerami WWW – tym razem kompilacja nginx 1.9.4 z modułem Google PageSpeed na systemie CentOS 7.

W kolejnym poradniku opisze jak z użyciem tego poradnika zainstalować kompletny serwer hostingowy dla stron WWW.

Zacznijmy od pobrania potrzebnych pakietów i dodaniu dwóch użytkowników systemu:

yum install -y gcc-c++ pcre-dev pcre-devel zlib-devel make unzip openssl-devel  wget curl nano 
useradd nginx  
usermod -s /sbin/nologin nginx
useradd www

Teraz źródła:

cd /usr/local/src/  
NPS_VERSION=1.9.32.6  
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${NPS_VERSION}-beta.zip  
unzip release-${NPS_VERSION}-beta.zip  
cd ngx_pagespeed-release-${NPS_VERSION}-beta/  
wget https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz  
tar -xzvf ${NPS_VERSION}.tar.gz
cd /usr/local/src/  
NGINX_VERSION=1.9.4
wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz  
tar -xvzf nginx-${NGINX_VERSION}.tar.gz  
cd nginx-${NGINX_VERSION}/

Konfiguracja:

./configure --add-module=/usr/local/src/ngx_pagespeed-release-${NPS_VERSION}-beta --with-http_ssl_module --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log

Kompilacja i instalacja;

make && make install

Wstępna konfiguracja:

wget http://pliki.linuxiarz.pl/09-2015/nginx.service_centos -O /usr/lib/systemd/system/nginx.service
mkdir -p /etc/ssl/private; chmod -R 710 /etc/ssl/private ; cd /etc/ssl/private
openssl dhparam -out dhparams.pem 2048
chmod 600 /etc/ssl/private/dhparams.pem ; cd /root
rm /etc/nginx/sites-available/* ; rm /etc/nginx/sites-enabled/* ; rm /etc/nginx/nginx.conf
mkdir -p /etc/nginx/conf.d; mkdir -p /home/www/public_html 
touch /home/www/public_html/index.html ; echo '<html><center><br><br><h1>Witam!<br> Dzialamy na nginx!</h1></center></html>' > /home/www/public_html/index.html
chown -R www:www /home/www/public_html
wget http://pliki.linuxiarz.pl/09-2015/nginx_centos.conf -O /etc/nginx/nginx.conf 
wget http://pliki.linuxiarz.pl/09-2015/default2_centos.conf -O /etc/nginx/conf.d/default.conf
mkdir /var/ngx_pagespeed_cache  
chown -R nginx: /var/ngx_pagespeed_cache

Uruchamianie przy starcie i restart serwera:

systemctl enable nginx
reboot

Działanie:

# curl -I localhost
HTTP/1.1 200 OK
Server: nginx
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10
Vary: Accept-Encoding
Date: Sat, 05 Sep 2015 11:11:21 GMT
X-Page-Speed: 1.9.32.6-7321
Cache-Control: max-age=0, no-cache