NasyoneL
- 25 Ağu 2017
- 25,060 Mesaj
Aktiflik
Seviye
Deneyim
Nginx Kurulumu Ngx_pagespeed Le Birlikte (centos 7)-
Ngx-pagespeed, sitenizi hızlandırmak ve sayfa yükleme süresini kısaltmak için kullanılabilecek ücretsiz ve açık bir Nginx modülüdür. Mevcut içeriğinizi veya iş akışınızı değiştirmeniz gerekmeden web performansı en iyi uygulamalarını sayfalara ve ilişkili varlıklara otomatik olarak uygulayarak çalışır. Ngx-pagespeed modülünü kullanarak CSS, HTML, png ve jpg gibi çeşitli dosyaları kolayca optimize edebilirsiniz.
Kuruluma geçelim
Nginx'i derlemek için bazı paketler yüklemeniz gerekecek. Aşağıdaki komutu çalıştırarak tüm bu paketleri yükleyebilirsiniz:
Nginx kaynağını indirmeniz gerekecek. Aşağıdaki komutu çalıştırarak indirebilirsiniz:
Ardından ngx_pagespeed i indirmeniz gerek . Aşağıdaki komutu çalıştırarak indirebilirsiniz:
Her iki paket de indirildikten sonra, bunları aşağıdaki komutla arşivi açın.
Ardından, Nginx'i derlemek için PageSpeed optimizasyon kütüphanelerini de indirmeniz gerekecektir. Aşağıdaki komutla indirebilirsiniz:
Şimdi, Nginx'i pagepeed modülü ile derlemeye başlayalım.
İlk olarak, aşağıdaki komutla dizini Nginx kaynak dizinine değiştirin:
Ardından, Nginx paketini aşağıdaki komutla yapılandırın:
Yapılandırma tamamlandığında, aşağıdaki komutu çalıştırarak Nginx'i derleyin:
Yukarıdaki komut birkaç dakika alacaktır. Bundan sonra aşağıdaki komutu çalıştırarak nginx'i yükleyebilirsiniz:
Nginx yüklendikten sonra, Nginx için bir sembolik link oluşturmanız gerekir:
Nginx'i durdurmak ve başlatmak için Nginx için bir başlangıç scriptini oluşturmanız da gerekecektir. /Etc/init.d dizininde nginx dosyası oluşturarak bunu yapabilirsiniz:
Aşağıdaki satırları ekleyin:
İşiniz bittiğinde dosyayı kaydedin ve kapatın, ardından çalıştırma iznini verin:
Şimdi nginx hizmetini başlatın ve aşağıdaki komutla önyükleme zamanında başlamasını sağlayın:
Ardından, ngx-pagespeed için bir önbellek dizini oluşturmanız ve izinlerini düzeltmeniz gerekir.
Ardından, /etc/nginx/nginx.conf dosyasında bazı değişiklikler yapmanız gerekecektir.
Server bloğu arasına aşağıdaki kodu ekleyin:
Aşağıdaki komutla herhangi bir yapılandırma hatası için Nginx'i kontrol edin:
Her şey yolundaysa, aşağıdaki çıktıyı görmelisiniz:
Son olarak, değişikliklerin etkili olması için Nginx'i yeniden başlatın:
Ngx-pagespeed, sitenizi hızlandırmak ve sayfa yükleme süresini kısaltmak için kullanılabilecek ücretsiz ve açık bir Nginx modülüdür. Mevcut içeriğinizi veya iş akışınızı değiştirmeniz gerekmeden web performansı en iyi uygulamalarını sayfalara ve ilişkili varlıklara otomatik olarak uygulayarak çalışır. Ngx-pagespeed modülünü kullanarak CSS, HTML, png ve jpg gibi çeşitli dosyaları kolayca optimize edebilirsiniz.
Kuruluma geçelim
Nginx'i derlemek için bazı paketler yüklemeniz gerekecek. Aşağıdaki komutu çalıştırarak tüm bu paketleri yükleyebilirsiniz:
Kod:
sudo yum install gcc cmake unzip wget gcc-c++ pcre-devel zlib-devel -y
Nginx kaynağını indirmeniz gerekecek. Aşağıdaki komutu çalıştırarak indirebilirsiniz:
Kod:
wget http://nginx.org/download/nginx-1.12.0.tar.gz
Ardından ngx_pagespeed i indirmeniz gerek . Aşağıdaki komutu çalıştırarak indirebilirsiniz:
Kod:
wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip
Her iki paket de indirildikten sonra, bunları aşağıdaki komutla arşivi açın.
Kod:
tar -xvzf nginx-1.12.0.tar.gz
tar -xvzf v1.12.34.2-stable.zip
Ardından, Nginx'i derlemek için PageSpeed optimizasyon kütüphanelerini de indirmeniz gerekecektir. Aşağıdaki komutla indirebilirsiniz:
Kod:
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 ..
Şimdi, Nginx'i pagepeed modülü ile derlemeye başlayalım.
İlk olarak, aşağıdaki komutla dizini Nginx kaynak dizinine değiştirin:
Kod:
cd nginx-1.12.0
Ardından, Nginx paketini aşağıdaki komutla yapılandırın:
Kod:
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}
Yapılandırma tamamlandığında, aşağıdaki komutu çalıştırarak Nginx'i derleyin:
Kod:
sudo make
Yukarıdaki komut birkaç dakika alacaktır. Bundan sonra aşağıdaki komutu çalıştırarak nginx'i yükleyebilirsiniz:
Kod:
sudo make install
Nginx yüklendikten sonra, Nginx için bir sembolik link oluşturmanız gerekir:
Kod:
sudo ln -s /usr/local/nginx/conf/ /etc/nginx
sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
Nginx'i durdurmak ve başlatmak için Nginx için bir başlangıç scriptini oluşturmanız da gerekecektir. /Etc/init.d dizininde nginx dosyası oluşturarak bunu yapabilirsiniz:
Kod:
sudo nano /etc/init.d/nginx
Aşağıdaki satırları ekleyin:
Kod:
#!/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
İşiniz bittiğinde dosyayı kaydedin ve kapatın, ardından çalıştırma iznini verin:
Kod:
sudo chmod +x /etc/init.d/nginx
Şimdi nginx hizmetini başlatın ve aşağıdaki komutla önyükleme zamanında başlamasını sağlayın:
Kod:
sudo systemctl start nginx
sudo systemctl enable nginx
Ardından, ngx-pagespeed için bir önbellek dizini oluşturmanız ve izinlerini düzeltmeniz gerekir.
Kod:
sudo mkdir -p /var/ngx_pagespeed_cache
sudo chown -R nobody:nobody /var/ngx_pagespeed_cache
Ardından, /etc/nginx/nginx.conf dosyasında bazı değişiklikler yapmanız gerekecektir.
Kod:
sudo nano /etc/nginx/nginx.conf
Server bloğu arasına aşağıdaki kodu ekleyin:
Kod:
# 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" { }
Aşağıdaki komutla herhangi bir yapılandırma hatası için Nginx'i kontrol edin:
Kod:
sudo nginx -t
Her şey yolundaysa, aşağıdaki çıktıyı görmelisiniz:
Kod:
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
Son olarak, değişikliklerin etkili olması için Nginx'i yeniden başlatın:
Kod:
sudo systemctl restart nginx
