• Halloween is coming! To celebrate the occasion, we dusted off a couple of old skins, and even created a brand new one (Pixel).
    To get into the festive spirit, install the Skins extension.
  • The new Python extension is now available. It allows customers to deploy and manage WSGI-based Python applications on their websites directly from Plesk.
  • The Plesk Mobile apps for iOS and Android and the Plesk Mobile Center extension have been deprecated, and are no longer available for new installations. In Plesk Obsidian 18.0.84, the Plesk Mobile Center extension will be removed from servers during the upgrade, and the Plesk Mobile apps will lose their server management features.
  • The Social Login extension has been deprecated and will be removed in Plesk Obsidian 18.0.84. After that, it will no longer be possible to log in to Plesk with a Google, Facebook, GitHub account, or with a passkey. Plesk usernames and passwords, as well as logging in with a WebPros Account, are not affected.

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