install_pagespeed_nginx.sh 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #!/bin/bash
  2. ## Install PageSpeed on Debian 8/9 and Ubuntu 16.04 64Bits
  3. ## https://www.howtoforge.com/tutorial/how-to-install-nginx-and-google-pagespeed-on-ubuntu-16-04/
  4. ## http://nginx.org/en/linux_packages.html
  5. ## https://www.modpagespeed.com/doc/build_ngx_pagespeed_from_source
  6. ## https://developers.google.com/speed/pagespeed/module/
  7. ## Debian ISO: https://cdimage.debian.org/cdimage/archive/8.9.0/amd64/iso-cd/
  8. ## No Link abaixo tem o pacote do Nginx para o Debian 8 64Bits
  9. ## https://github.com/jniltinho/ispconfig/tree/master/packages/debian/jessie
  10. ## Run as root (sudo su)
  11. NPS_VERSION=1.13.35.2-stable
  12. NPS_RELEASE_NUMBER=${NPS_VERSION/stable/}
  13. sed -i "s|# deb-src|deb-src|" /etc/apt/sources.list
  14. apt-get update
  15. apt-get install -y lsb-release dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip curl
  16. cd ~
  17. mkdir -p ~/nginx_source/
  18. cd ~/nginx_source/
  19. apt-get source nginx
  20. rm -rf /var/lib/apt/lists/
  21. apt-get update
  22. apt-get build-dep -y nginx
  23. sed -i "s|deb-src|# deb-src|" /etc/apt/sources.list
  24. cd ~
  25. wget https://github.com/pagespeed/ngx_pagespeed/archive/v${NPS_VERSION}.tar.gz
  26. tar xvfz v${NPS_VERSION}.tar.gz
  27. cd incubator-pagespeed-ngx-${NPS_VERSION}/
  28. psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_RELEASE_NUMBER}.tar.gz
  29. psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL)
  30. wget ${psol_url}
  31. tar -xzvf $(basename ${psol_url})
  32. sed -i "s|--with-http_auth_request_module|--with-http_auth_request_module --add-module=$HOME/incubator-pagespeed-ngx-${NPS_VERSION}|" $HOME/nginx_source/nginx-1.*.*/debian/rules
  33. cd ~/nginx_source/nginx-1.*.*/
  34. dpkg-buildpackage -b
  35. cd ../
  36. ## Caso exista o Nginx o Script vai efetuar o Backup
  37. if [ -f /etc/nginx/nginx.conf ]; then service nginx stop; cp -aR /etc/nginx /etc/nginx_$$; fi
  38. dpkg --force-all -i nginx_1.*_all.deb nginx-common_1.*_all.deb nginx-full_1.*_amd64.deb
  39. ## Caso exista o Backup vai ser efetuado o restore
  40. if [ -f "/etc/nginx_$$/nginx.conf" ]; then rm -rf /etc/nginx/*; cp -aR /etc/nginx_$$/* /etc/nginx/; fi
  41. ## Para Finalizar
  42. mkdir -p /var/ngx_pagespeed_cache && chmod 777 /var/ngx_pagespeed_cache
  43. ## Set on PageSpeed Config /etc/nginx/conf.d/default.conf
  44. sed -i "s|# concurs with nginx's one|include /etc/nginx/mod_pagespeed.conf;|" /etc/nginx/sites-enabled/default
  45. echo 'pagespeed on;
  46. pagespeed FileCachePath /var/ngx_pagespeed_cache;
  47. location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
  48. add_header "" "";
  49. }
  50. location ~ "^/pagespeed_static/" { }
  51. location ~ "^/ngx_pagespeed_beacon$" { }' >/etc/nginx/mod_pagespeed.conf
  52. ## Para checar as configs do Nginx
  53. nginx -t
  54. nginx -V
  55. ## Reinciar o Nginx
  56. apt-get update
  57. apt-get --fix-broken install
  58. service nginx restart
  59. echo nginx-full hold | sudo dpkg --set-selections
  60. apt-get update && upgrade