• We value your experience with Plesk during 2024
    Plesk strives to perform even better in 2025. To help us improve further, please answer a few questions about your experience with Plesk Obsidian 2024.
    Please take this short survey:

    https://pt-research.typeform.com/to/AmZvSXkx
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Question PLESK NGINX compiled with Pagespeed

I have corrected my configuration above, because it's better to use the same directory for FileCachePath and CreateSharedMemoryMetadataCache.
Another important step is to make nginx as owner of /var/log/pagespeed directory. nginx:nginx
Otherwise you'll get plenty error messages in/ var/log/nginx which belong all to pagespeed.
Yesterday I expanded the FileCacheSizeKb to 20480000 (~20 GB) and use Redis again.
If you are interested, this is my new nginx.conf configuration. Plesk recommends to put the configuration in /etc/nginx/conf.d/ because of updates/upgrades.
I've backup of my configuration.
Code:
#user  nginx;
worker_processes  1;

#error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

#pid        /var/run/nginx.pid;

include /etc/nginx/modules.conf.d/*.conf;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    #tcp_nodelay        on;
 
    proxy_send_timeout 1200s;
    proxy_read_timeout 1200s;
    fastcgi_send_timeout 1200s;
    fastcgi_read_timeout 1200s;

    #gzip  on;
    #gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    gzip_static on;
    gzip on;
    gzip_proxied any;
    gzip_http_version 1.1;
    gzip_min_length 100;
    gzip_vary on;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_types text/plain text/css application/x-javascript text/xml application/xml text/javascript image/x-icon image/bmp image/svg+xml application/javascript application/js application/xhtml+xml application/rss+xml application/x-font-ttf application/vnd.ms-fontobject font/opentype font/ttf font/eot     font/otf image/jpg image/jpeg image/png image/gif application/json;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    pagespeed on;
    pagespeed RedisServer "localhost:6379";
    pagespeed FileCachePath /var/ngx_pagespeed_cache;
    pagespeed FileCacheSizeKb 20480000;
    pagespeed FileCacheCleanIntervalMs 3600000;
    pagespeed FileCacheInodeLimit 500000;
    pagespeed LRUCacheKbPerProcess 8192;
    pagespeed LRUCacheByteLimit 16384;
    pagespeed CreateSharedMemoryMetadataCache "/var/ngx_pagespeed_cache" 51200;

    pagespeed Statistics on;
    pagespeed StatisticsLogging on;
    pagespeed LogDir /var/log/pagespeed;
    pagespeed AdminPath /pagespeed_admin;
    pagespeed GlobalAdminPath /pagespeed_global_admin;
    pagespeed StatisticsPath /ngx_pagespeed_statistics;
    pagespeed GlobalStatisticsPath /ngx_pagespeed_global_statistics;
    pagespeed MessagesPath /ngx_pagespeed_message;
    pagespeed ConsolePath /console;
    pagespeed UsePerVhostStatistics on;
    pagespeed MessageBufferSize 100000;
    pagespeed EnableCachePurge off;

    # Needs to exist and be writable by nginx.  Use tmpfs for best performance.
    pagespeed EnableFilters insert_dns_prefetch;
    pagespeed EnableFilters combine_css,combine_javascript;
    pagespeed EnableFilters make_show_ads_async,make_google_analytics_async;
    pagespeed EnableFilters rewrite_css,move_css_above_scripts,rewrite_javascript;
    pagespeed EnableFilters extend_cache,extend_cache_pdfs;
    pagespeed PreserveUrlRelativity on;
    pagespeed EnableFilters inline_google_font_css;
    pagespeed EnableFilters remove_comments,collapse_whitespace;
    pagespeed EnableFilters in_place_optimize_for_browser;

    pagespeed Domain *.xxx.eu;
    pagespeed Domain *.xxxx.de;
    pagespeed Domain *.xx.eu;
    pagespeed Domain *.xxx.com;
    pagespeed Domain *.xxxx.com;
    pagespeed Domain *.xxx.de;
    pagespeed Domain *.xxxxxx.com;
    pagespeed Domain *.xxxxxxx.com;
    pagespeed Domain *.xxxxxxxx.org;

    server_tokens off;

    include /etc/nginx/conf.d/*.conf;
}

# override global parameters e.g. worker_rlimit_nofile
include /etc/nginx/*global_params;
 
Last edited:
Personally I realized the access, better non access, over standard web-server access control to the subdomain directory admin.example.com.
 
Personally I realized the access, better non access, over standard web-server access control to the subdomain directory admin.example.com.

Thanks, but how did you restrict the access for all other domains? For example, pagespeed AdminPath /pagespeed_admin; will enable access for all domains...
 
Back
Top