Pagespeed on ubuntu

با استفاده از pagespeed می توان سرعت load صفحات وب را افزایش داد.ابتدا باید وب سرور nginx را روی ubuntu نصب کنید.sudo apt update && sudo apt install nginxو بعد وضعیت nginx را چک کنید که در حالت active باشد.sudo systemctl status nginxحالا google pagespeed و ماژول های مورد نیاز را نصب کنید.sudo apt install libssl-dev bash <(curl -f -L -sS https://ngxpagespeed.com/install) \ --nginx-version latestبرای نصب ماژول ها دستور زیر را بزنید--prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/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-http_ssl_module --with-http_v2_moduleو سپس برای build nginx و configuration سوال میپرسه که می تونید y بزنیدمرحله بعد Configure Systemd for NGINX Controlsudo nano /lib/systemd/system/nginx.serviceو دستورات زیر را به جای دستورات موجود قرار دهید[Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t ExecStart=/usr/sbin/nginx ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.targetمرحله بعد ایجاد دایرکتوری cache و ایجاد دسترسیmkdir -p /var/cache/nginx/client_temp mkdir /var/cache/ngx_pagespeed/ chown nginx:nginx /var/cache/ngx_pagespeed/در متغیر (whoami)$ اطلاعات کاربری که در حال حاضر وارد شدید رادر خود ذخیره می کندsudo chown -R $(whoami):$(whoami) /var/www/html/سپس دسترسی بهdirectory را ایجاد کنیدsudo chmod -R 755 /var/wwwمرحله بعد باید server block را در config مربوط به default تغییر بدهیدsudo nano /etc/nginx/sites-available/defaultو دستورات زیر با تغییر نام دامنه به نام دامنه خود قرار دهیدserver { listen 80 default_server; listen [::]:80 default_server; # include snippets/snakeoil.conf; root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name your-domain-name; access_log logs/your-domain-name.access.log; error_log logs/your-domain-name.error error; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } pagespeed on; pagespeed FileCachePath &quot/var/cache/ngx_pagespeed/&quot pagespeed RewriteLevel OptimizeForBandwidth; location ~ &quot\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+&quot { add_header &quot&quot &quot&quot } location ~ &quot^/pagespeed_static/&quot { } location ~ &quot^/ngx_pagespeed_beacon$&quot { } }و داخل index.html میتوانید عبارت زیر را قرار بدهید که هنگام load صفحه آن را به شما نمایش دهدsudo echo &quotThanks Axfon.com for Google PageSpeed Configuration&quot > /var/www/html/index.htmlو در نهایت درستی nginx را تست کنیدnginx -tامکان دارد با خطایی مواجه شوید مانند:nginx: [emerg] dlopen() "/etc/nginx/modules/ngx_http_geoip_module.so" failed (/etc/nginx/modules/ngx_http_geoip_module.so: cannot open shared object file: No such file or directory) in /etc/nginx/modules-enabled/50-mod-http geoip.conf:1که باید در مسیر زیر عبارت include مشخص شده را کامنت کنید.sudo nano /etc/nginx/nginx.confuser www-data; worker_processes auto; pid /run/nginx.pid; #include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; }سپس nginx را restart می کنیم.sudo service nginx restartو در نهایت با دستور زیر نتیجه را تست می کنیم که در صورت درست بودن عبارت X-Page-Speed را مشاهده می کنیدcurl -I -X GET your-domain-nameو اگر نام domain خود را در مرورگر خود تایپ کنید عبارتی که در index.html قرار دادید را نشان می دهد