• Resolved neikoloves

    (@neikoloves)


    Hello, looking around I’m finding some issues with trying to get this plugin to work. It seems I have to dig in hard to learn how it detects the setup needs. Nginx is in place and confirmed working, but we are using Aapanel Pro.

    We have the full source code, so we can go digging for anything and find how it creates paths and files. As we already developed a Varnish server solution, with the and Nginx layer + Varnish, plus Object Cache + php FPM .

    Stack Architecture (Server):
    🌐 Client (Browser)
      ⇓
    🕸️ Nginx :80/:443 + WAF
      ⇓
    💨 Varnish :6081 (Cache) ⚡⚡
      ⇓
    🔌 Apache :8288 (ACTIVE)
      ⇓
    🐘 PHP-FPM → OpCache → APCu
      ⇓
    🔴 Redis :6379 → 🗄️ MySQL :3306

    I think the layers are adding to much complexity. Now decided to try this solution as the Varnish solution has too many issues, wasting time trying to find them all. This plugin setup seems very technical and honestly having a harder time than I expected to learn how to get this up and running out of the box.

    The first thing we did was set the define(‘NPPP_ASSUME_NGINX’, true); then installed rg then confirm safexec (version) 1.9.2 not (1.9.6) Ubuntu 22.04.5 LTS x86_64 doesn’t seem to allow me to install as the repo is missing in this OS version. Is that a requirement, I maybe able to get around it, but it could break other things?

    The  Nginx Cache Directory is set to /dev/shm/nginx-cache
    Cloudflare Cache Sync requires the Cloudflare WordPress plugin with APO yet it’s just a simple API, so I think we will look at your plugin and try and add that detection in. The plugin Clear Cache Everywhere already has this Cloudflare API built in for easy reference, that works with ease.

    Redis Object Cache Sync is not being seen as Redis Object Cache plugin is needed and yet we use Object Cache Pro, so will need to again check your plugin to perhaps auto detect that as well. Clear Cache Everywhere already see it. So I think that is a detection issue again.

    So now we need to get past these issues GLOBAL ERROR WGET: Preload action requires GNU Wget 1.x (>=1.16). Non-GNU Wget implementations are not supported.

    Yet we have GNU Wget 1.21.2-2ubuntu1.1 installed, which is well above the required 1.16 version. So maybe this is a detection path issue as Aapanel Pro does not always use standard paths.

    I have not dug in deep just yet, but I think a lot of this could be path detection methods as it’s looking for standards which Aapanel is not? It’s Python and Vue based and a mix of other programming stacks.

    Otherwise this plugin look like just want I want to test, Varnish was a fail for so many nested reasons not to mention we had to wire Nginx to proxy to varnish as Nginx is the heart of Aapanel Pro with you want to use a proxy for the most part. You can use standalones like Nginx or OLS. But then you have to proxy to a cacher as I’m finding fastcgi is not a complete solution.

    We can also setup Open Light Speed with AAP, but OLS does not handle edge caching well at all and thus still slower than we can use. We tried Nginx to Varnish to OLS and that was a failed mess.

    So now we are trying pure Nginx, but not many software really think about cache warming or hwo to handle dynamic request or using pure redis for storage, thus products and pages are slow to load the first time out.

    What I’m after is a static like response with dynamic responses even when you are logged in. Both for the admin and front end, we know it’s possible as we did it before on another language stack, that used good indexing as well and many other methods to get instant data access, zero lag.

    But still working on the tweaks to make this happen on this platform, regardless of methods. One million bad ways and we just want the one good way now. 🙂

Viewing 5 replies - 1 through 5 (of 5 total)
  • Thread Starter neikoloves

    (@neikoloves)

    Do those help at all? Thank you again for your time.

    Plugin Author Hasan CALISIR

    (@psauxit)

    Hello @neikoloves

    Thank you for your feedback — I really appreciate it. Since the plugin is still used by a relatively small number of users, feedback and bug reports are limited, so development tends to move a bit slower.

    I always follow the development roadmap based on user feedback. Honestly, I haven’t received much feedback from panel-based setups, as many panels and managed hosting providers already include their own built-in solutions for Nginx cache management, and some even implement custom Nginx modules.

    NPP is primarily designed for pure VPS-based, self-hosted, and self-managed Linux environments, aimed at system administrators and intermediate-to-advanced technical users.

    Regarding the issues you reported on aaPanel: there is nothing architecturally broken on the NPP side. These are related to panel-specific overrides and aaPanel’s own internal design, and can be adjusted accordingly.

    As an open-source plugin developer, this is where the challenge begins. There are many environments—open-source panels, paid panels, and managed hosting platforms—and NPP is a completely free core plugin. Ensuring full compatibility across all of them is nearly impossible in practice, as it would require significant ongoing time, resources, and sponsorship.

    However, if I choose to focus deep support on a specific panel, I would prefer it to be a fully open-source solution rather than paid or commercial platforms. From a philosophical standpoint, aligning a free open-source plugin with paid services is not the direction I want to take.

    To move in that direction, I would likely need to turn the NPP into a commercial or paid product, which is not something I want. As I mentioned, I believe the best approach is to rely on contributions from technically skilled panel teams or users, through GitHub pull requests, all contributions are welcome and appreciated.

    P.S: Honestly I don’t know the plugin you mention in bold. If it works for you please continue to use it.

    Best~Hasan

    Thread Starter neikoloves

    (@neikoloves)

    Understood Aapanel is open source free control panel and here is what I have learned so far about how it stores paths > aaPanel 8.0.2 for free https://www.aapanel.com/new/download.html

    I’ll try to slip in path detection, maybe this will help others, maybe not. Thanks again.

    Nginx

    [Binary]
    Binary: /bin/nginx
    Version: nginx/1.30.0
    [Configuration]
    Install Prefix: /www/server/nginx
    aaPanel Vhost Dir: /www/server/panel/vhost/nginx
    Nginx Vhost Dir: /www/server/nginx/conf/vhost
    nginx.conf (aaPanel): /www/server/nginx/conf/nginx.conf
    Rewrite Rules Dir: /www/server/nginx/conf/rewrite
    Pathinfo Config: /www/server/nginx/conf/pathinfo.conf
    Panel Rewrite Dir: /www/server/panel/vhost/rewrite
    [Logs]
    Site Logs Dir: /www/wwwlogs
    [Compiled Modules (16)]
    - http_v2_module
    - stream_ssl_module
    - stream_ssl_preread_module
    - http_stub_status_module
    - http_ssl_module
    - http_image_filter_module
    - http_gzip_static_module
    - http_gunzip_module
    - http_sub_module
    - http_flv_module
    - http_addition_module
    - http_realip_module
    - http_mp4_module
    - http_auth_request_module
    - http_dav_module
    - http_v3_module
    [Proxy Cache]
    Proxy Config File: /www/server/nginx/conf/proxy.conf
    Proxy Cache Path: /www/server/nginx/proxy_cache_dir
    Proxy Temp Path: /www/server/nginx/proxy_temp_dir
    Proxy Keys Zone: cache_one
    Keys Zone Size: 20m
    Proxy Cache Max Size: 5g
    Proxy Cache TTL: 1d
    Active Zone Name: cache_one
    Connect Timeout: 60
    Read Timeout: 60
    Buffer Size: 32k
    Buffers: 4 64k
    [FastCGI Cache (WORDPRESS zone)]
    FastCGI Cache Config: /www/server/panel/vhost/nginx/0.fastcgi_cache.conf
    Cache Path: /www/server/fastcgi_cache
    Zone Name: WORDPRESS
    Zone Size: 100m
    Max Size: 1g
    Inactive TTL: 60m
    Cache Key: $scheme$request_method$host$request_uri
    Use Stale On: error timeout invalid_header http_500
    Plugin Author Hasan CALISIR

    (@psauxit)

    nginx.conf (aaPanel): /www/server/nginx/conf/nginx.conf

    Already covered with NPP.

    https://github.com/psaux-it/nginx-fastcgi-cache-purge-and-preload/blob/d81c2c2e8e0307ed8086a5c95c7e9ebbaa42be84/includes/pre-checks.php#L272

    The thing that you need to check are these included to main nginx.conf with wildcards. Becuse NPP follows included paths to parse vhost configs from main nginx.conf.

    aaPanel Vhost Dir: /www/server/panel/vhost/nginx
    Nginx Vhost Dir: /www/server/nginx/conf/vhost

    Are these paths readable by your PHP process owner www?

    Best~Hasan

    Plugin Author Hasan CALISIR

    (@psauxit)

    @neikoloves

    Please review the reports I shared with the aaPanel team. As I mentioned previously, these are panel-level overrides and need to be adjusted accordingly.

    All NPP-related issues on aaPanel were resolved in v2.1.7 and have been fully tested, particularly for multi-webserver architectures using an Nginx + Apache stack.

    References:

    The server stack architecture you are using (Varnish) is still too complex to be managed effectively through a single WordPress plugin.

    A Python-based aaPanel plugin would be a more appropriate solution, allowing much deeper integration with NPP at the panel level. Since NPP introduced WP-CLI support in v2.1.7, integration with an aaPanel plugin can now be implemented much more easily and reliably.

    If you think to develop deep aaPanel plugin that talks with NPP, please let me know. I can contribute the project.

    Best~Hasan

Viewing 5 replies - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.