Nginx
Vinza Store Nginx
Nginx
Free Web Server
nginxwebhttphttpsreverse-proxyssl
Get this app
Free
Available to all users. No license needed.

Gives Nginx its own page in the panel for service control, configuration validation, virtual-host overview, and log reading. Every privileged operation is routed through the root agent: start, stop, restart, reload, enable, and disable map to service.*, and the config test runs nginx.test so its stdout and stderr come back inline instead of as a bare pass/fail. The status card shows whether Nginx is running and its version, refreshing on a timer, and Stop and Disable ask for confirmation first.

The virtual-host list is built by comparing file names under /etc/nginx/sites-available and /etc/nginx/sites-enabled, flagging which server blocks are symlinked into the enabled directory. It is deliberately read-only — creating and removing sites stays in the Websites section, which owns those files. The log viewer tails error.log or access.log through the agent with a selectable line count (100/200/500, capped at 500), a wrap toggle, and a download button.

The service state is not fully yours to set: it follows the panel's web server mode. When Nginx is not the server selected by the current mode it is kept stopped and disabled, and the page says so rather than letting a Start button silently fight the reconciler. The plugin declares conflicts with apache2 and openlitespeed, requires websites.manage, and non-admin website managers see a reduced view exposing only a whitelisted status — no control actions, no logs, no vhost listing.

Min Panel Version
1.0.0
Platform
Ubuntu 20.04+ / 22.04+ / 24.04+
License
Free — no key needed
Conflicts
apache2 openlitespeed
Permissions
websites.manage
VinzaPanel handles installation automatically via the Vinza Store. Make sure the panel agent has internet access to download dependencies.
1.0.5 — New icon in the shared flat style. 1.0.4 — Upload limit 50 MB by default (client_max_body_size 50m in nginx.conf, where this app edits it); only added when no value is set, on install and on update. 2026-10-23 — Vhost editor: save runs nginx -t and reloads, and restores the previous file (showing nginx's error) when it is rejected; panel-generated vhosts carry a warning that regeneration rewrites them. Per-site microcache (FastCGI for PHP, proxy for apps; 1–600 s TTL; bypassed for logged-in/cart/session cookies, non-GET, query strings and admin paths; purge per site) and per-site rate limiting (limit_req req/s + burst, limit_conn per IP), both off by default and kept across vhost regeneration. Live metrics from a loopback-only stub_status (active, accepts/handled/requests, reading/writing/waiting, req/s). A site's microcache and rate limits come back by themselves after switching to Apache/OpenLiteSpeed and back to nginx (the switch purges /etc/nginx). 1.0.3 — Saving the Common settings works: the form's values never reached the plugin, so every Save answered "Nothing to save." Blank fields leave their directive alone, and server_tokens, which the panel already sets in conf.d/vinza-tuning.conf, is shown as in effect instead of being written twice (nginx refused the file as a duplicate). 1.0.1 — Configuration tab no longer shows an opaque 'Request failed': the config read fails fast and the UI surfaces the real HTTP status. Service control, config test, virtual-host list, and log viewer (line-count/wrap/download); live status with auto-refresh, inline config-test result, toast feedback, and confirmation before Stop/Disable. Service state follows the panel web server mode.

Use VinzaPanel's REST API to download and install this app programmatically.

Download app files
HTTP
POST /plugins/api/download/nginx/
Content-Type: application/json

{
  "panel_version": "1.0.0"
}
Example response
JSON
{
  "success": true,
  "plugin_id": "nginx",
  "version": "1.0.5",
  "download_url": "..."
}