Instaloni Nginx me ngx_pagespeed në CentOS 7
Ngx-pagespeed është një modul Nginx pa pagesë dhe me burim të hapur që mund të përdoret për të shpejtuar faqen tuaj dhe për të reduktuar kohën e ngarkimit të faqes. Ai funksionon duke aplikuar automatikisht praktikat më të mira të performancës së ueb-it në faqet dhe asetet e lidhura pa kërkuar që të modifikoni përmbajtjen tuaj ekzistuese ose rrjedhën e punës. Mund të optimizoni lehtësisht skedarë të ndryshëm si CSS, HTML, png dhe jpg duke përdorur modulin Ngx-pagespeed.
Ngx-pagespeed vjen me shumë veçori, disa prej tyre janë renditur më poshtë:
- Mbështet ndryshimin, rikompresimin dhe optimizimin dinamik të imazhit.
- Rrirje e burimeve të vogla.
- Rishkrimi HTML.
- Zgjatja e jetëgjatësisë së memories së memories.
- Shtyrja e ngarkimit të JavaScript dhe imazhit.
Në këtë tutorial, ne do të diskutojmë se si të përpilojmë Nginx me modulin ngx_pagespeed në serverin CentOS 7.
Kërkesat
- Serveri i freskët CentOS 7 i instaluar në sistemin tuaj.
- Përdorues Sudo me privilegje rrënjësore.
1 Përditësoni sistemin
Le të fillojmë duke përditësuar sistemin tuaj në versionin më të fundit të qëndrueshëm. Ju mund ta bëni këtë duke ekzekutuar komandën e mëposhtme:
sudo yum update -y
Pasi sistemi juaj të përditësohet, rinisni sistemin dhe identifikohuni me përdoruesin sudo.
2 Instaloni varësitë e nevojshme
Ju do të duhet të instaloni disa paketa në mënyrë që të përpiloni Nginx. Ju mund të instaloni të gjitha këto varësi duke ekzekutuar komandën e mëposhtme:
sudo yum install gcc cmake unzip wget gcc-c++ pcre-devel zlib-devel -y
Pasi të instalohen të gjitha varësitë e kërkuara, mund të vazhdoni në hapin tjetër.
3 Përpiloni Nginx me shpejtësinë e faqes Ngx
Për të instaluar Nginx me modulin ngx-pagespeed, do t'ju duhet të përpiloni Nginx nga burimi. Së pari, do t'ju duhet të shkarkoni burimin Nginx. Mund ta shkarkoni duke ekzekutuar komandën e mëposhtme:
wget http://nginx.org/download/nginx-1.12.0.tar.gz
Për të përpiluar Nginx me modulin ngx_pagespeed, do t'ju duhet gjithashtu të shkarkoni paketën burimore ngx_pagespeed. Mund ta shkarkoni me komandën e mëposhtme:
wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip
Pasi të shkarkohen të dyja paketat, Ekstraktoni ato me komandën e mëposhtme:
tar -xvzf nginx-1.12.0.tar.gz
tar -xvzf v1.12.34.2-stable.zip
Më pas, do t'ju duhet gjithashtu të shkarkoni bibliotekat e optimizimit të PageSpeed për të përpiluar Nginx. Mund ta shkarkoni me komandën e mëposhtme:
cd ngx_pagespeed-1.12.34.2-stable
wget https://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz
tar -xvzf 1.12.34.2-x64.tar.gz
cd ..
Tani, le të fillojmë të përpilojmë Nginx me modulin e shpejtësisë së faqes.
Së pari, ndryshoni drejtorinë në drejtorinë burimore Nginx me komandën e mëposhtme:
cd nginx-1.12.0
Tjetra, konfiguroni burimin Nginx me komandën e mëposhtme:
sudo ./configure --add-module=$HOME/ngx_pagespeed-1.12.34.2-stable --user=nobody --group=nobody --pid-path=/var/run/nginx.pid ${PS_NGX_EXTRA_FLAGS}
Pasi të përfundojë konfigurimi, përpiloni Nginx duke ekzekutuar komandën e mëposhtme:
sudo make
Komanda e mësipërme do të zgjasë disa minuta. Pas kësaj, mund të instaloni nginx duke ekzekutuar komandën e mëposhtme:
sudo make install
Pasi të instalohet Nginx, do t'ju duhet të krijoni një lidhje simbolike për Nginx:
sudo ln -s /usr/local/nginx/conf/ /etc/nginx
sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
4 Krijo skriptin e nisjes Nginx
Do t'ju duhet gjithashtu të krijoni një skript fillestar për Nginx që të ndalojë dhe të fillojë Nginx. Ju mund ta bëni këtë duke krijuar skedar nginx brenda drejtorisë /etc/init.d:
sudo nano /etc/init.d/nginx
Shtoni rreshtat e mëposhtëm:
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: NGINX is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
if [ -n "$user" ]; then
if [ -z "`grep $user /etc/passwd`" ]; then
useradd -M -s /bin/nologin $user
fi
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$value" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
done
fi
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
Ruani dhe mbyllni skedarin kur të keni mbaruar, pastaj jepni lejen e ekzekutimit për të:
sudo chmod +x /etc/init.d/nginx
Tani filloni shërbimin nginx dhe aktivizoni atë të fillojë në kohën e nisjes me komandën e mëposhtme:
sudo systemctl start nginx
sudo systemctl enable nginx
Pasi të keni mbaruar, mund të vazhdoni në hapin tjetër.
5 Konfiguro Nginx
Tani, Nginx është instaluar me mbështetjen ngx-pagespeed. Si parazgjedhje, PageSpeed është i çaktivizuar. Përpara se ta aktivizoni, rekomandohet të testoni shpejtësinë e faqes suaj të internetit. Më pas, do t'ju duhet të krijoni një direktori cache për ngx-pagespeed dhe gjithashtu t'i caktoni pronësinë për të Nginx:
sudo mkdir -p /var/ngx_pagespeed_cache
sudo chown -R nobody:nobody /var/ngx_pagespeed_cache
Më pas, do t'ju duhet të bëni disa ndryshime në skedarin /etc/nginx/nginx.conf. Ju mund ta bëni këtë duke ekzekutuar komandën e mëposhtme:
sudo nano /etc/nginx/nginx.conf
Shto kodin e mëposhtëm midis bllokut të serverit:
# Pagespeed main settings
pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
# Ensure requests for pagespeed optimized resources go to the pagespeed
# handler and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon" { }
Shënim: Nëse jeni duke përdorur host virtual, atëherë shtoni direktivat e mësipërme të shpejtësisë së faqes në çdo skedar të konfigurimit të bllokut të serverit për të aktivizuar shpejtësinë e faqeve në çdo faqe interneti.
Ruani dhe mbyllni skedarin kur të keni mbaruar, më pas kontrolloni Nginx për çdo gabim konfigurimi me komandën e mëposhtme:
sudo nginx -t
Nëse gjithçka është në rregull, duhet të shihni daljen e mëposhtme:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
Më në fund, rinisni Nginx që ndryshimet të hyjnë në fuqi:
sudo systemctl restart nginx
Pasi të konfigurohet Nginx, mund të vazhdoni të testoni shpejtësinë e faqeve Ngx.
6 Testoni shpejtësinë e faqeve Ngx
Nginx tani është në funksionim. Është koha për të kontrolluar nëse moduli po funksionon apo jo. Mund ta kontrolloni duke ekzekutuar komandën e mëposhtme:
curl -I -p http://localhost
Ju duhet të shihni daljen e mëposhtme:
HTTP/1.1 200 OK
Server: nginx/1.12.0
Content-Type: text/html
Connection: keep-alive
Vary: Accept-Encoding
Date: Wed, 21 Jun 2017 17:21:08 GMT
X-Page-Speed: 1.12.34.2-0
Cache-Control: max-age=0, no-cache
Ju duhet të shihni X-Page-Speed dhe numrin e versionit të tij në daljen e mësipërme. Kjo do të thotë që ju keni instaluar me sukses Ngx_pagespeed në serverin tuaj.
konkluzioni
urime! ju keni instaluar me sukses Nginx me mbështetjen e modulit Ngx-pagespeed. Shpresoj se tani mund ta vendosni lehtësisht në një mjedis prodhimi. Mos ngurroni të më komentoni nëse keni ndonjë pyetje.