SCHIZOSCHIZOSCHIZO
  • WORK
  • ABOUT
  • BRAIN DUMP
  • TOOLS
  • CONTACT
2026-06-11

Installing NGINX Plus

nginxf5load balancingdockerdevops

Installation (Ubuntu)

NGINX Plus can be installed on the supported versions of Debian or Ubuntu.

  1. >

    Download the SSL certificate, private key, and the JWT license file associated with your NGINX Plus subscription from the MyF5 Customer Portal:

    • >Log in to MyF5.
    • >Go to My Products & Plans > Subscriptions to see your active subscriptions.
    • >Find your NGINX products or services subscription, and select the Subscription ID for details.
    • >Download the nginx-repo.crt and nginx-repo.key from the subscription page.
    • >Download the JSON Web Token (JWT) from the subscription page.
  2. >

    Create the /etc/ssl/nginx directory:

    code
    sudo mkdir -p /etc/ssl/nginx
    
  3. >

    Copy the downloaded .crt and .key files to the /etc/ssl/nginx/ directory and make sure they are named nginx-repo.crt and nginx-repo.key:

    code
    sudo cp <downloaded-file-name>.crt /etc/ssl/nginx/nginx-repo.crt
    sudo cp <downloaded-file-name>.key /etc/ssl/nginx/nginx-repo.key
    
  4. >

    Install the prerequisite packages:

    code
    sudo apt update && \
    sudo apt install apt-transport-https \
                     lsb-release \
                     ca-certificates \
                     wget \
                     gnupg2 \
                     ubuntu-keyring
    
  5. >

    Download and add the NGINX signing key:

    code
    wget -qO - https://cs.nginx.com/static/keys/nginx_signing.key \
        | gpg --dearmor \
        | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
    
  6. >

    Add the NGINX Plus repository:

    code
    printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
    https://pkgs.nginx.com/plus/ubuntu `lsb_release -cs` nginx-plus\n" \
    | sudo tee /etc/apt/sources.list.d/nginx-plus.list
    
  7. >

    Download the nginx-plus apt configuration to /etc/apt/apt.conf.d:

    code
    sudo wget -P /etc/apt/apt.conf.d https://cs.nginx.com/static/files/90pkgs-nginx
    
  8. >

    Update the repository information:

    code
    sudo apt update
    
  9. >

    Install the nginx-plus package. Any older NGINX Plus package is automatically replaced:

    code
    sudo apt install -y nginx-plus
    
  10. >

    Copy the downloaded JWT file to the /etc/nginx/ directory and make sure it is named license.jwt:

    code
    sudo cp <downloaded-file-name>.jwt /etc/nginx/license.jwt
    
  11. >

    Check the nginx version to verify that NGINX Plus is installed correctly:

    code
    nginx -v
    

Installation (Docker)

Log in to the private registry using the JWT as the username:

code
JWT=$(cat <your-license>.jwt)
docker login private-registry.nginx.com --username=$JWT --password=none

curl https://private-registry.nginx.com/v2/nginx-plus/agent/tags/list --key <your-license>.key --cert <your-license>.crt | jq
code
{
  "name": "nginx-plus/agent",
  "tags": [
    "alpine",
    "amzn",
    "debian",
    "r34-ubi-9",
    "r34-ubi",
    "r34",
    "ubi-9",
    "ubi"
  ]
}
code
docker pull private-registry.nginx.com/nginx-plus/agent:r34

docker images → there should be the nginx-plus image available.

code
docker login <my-docker-registry>
docker tag private-registry.nginx.com/nginx-plus/agent:r34 schiz0/nginx-plus:apocalypse
docker push schiz0/nginx-plus:apocalypse
code
sudo docker run --env=NGINX_LICENSE_JWT=$JWT --restart=always --runtime=runc --name khatra_wala_nginx \
  --mount type=bind,source=/var/www/html,target=/usr/share/nginx/html,readonly \
  --mount type=bind,source=/etc/nginx/,target=/etc/nginx/ \
  -p 6969:80 -d schiz0/nginx-plus:bodacious

nginx CLI

Print help for command-line parameters:

code
nginx -h

Test the configuration file: NGINX checks the configuration for correct syntax, and then tries to open files referred to in the configuration.

code
nginx -t

Same as -t, but additionally dumps configuration files to standard output:

code
nginx -T

Print the NGINX version:

code
nginx -v

Print the NGINX version, compiler version, and configure parameters:

code
nginx -V

Send a signal to the master process. The argument signal can be one of:

  • >stop — shut down quickly
  • >quit — shut down gracefully
  • >reload — reload configuration, start new worker processes with a new configuration, gracefully shut down old worker processes
  • >reopen — reopen log files
code
nginx -s reload
nginx CLI recall3 blanks

Test the configuration with nginx , dump the full running config with nginx , and reload without dropping connections with nginx -s .

try it before revealing

Read next

  • 2026-06-09 · CheatsheetsInstalling NGINX Agent
  • 2026-06-06 · CheatsheetsF5 Local Traffic Policies
  • 2026-06-06 · Byte-SizedDocker Compose file to run open WebUI and AI Agents
  • 2026-05-28 · CheatsheetsDocker Command Reference

← All PostsSCHIZO Brain Dump
SCHIZO

Suhesh Kasti — AppSec & Offensive Security

Navigate

  • ▸ Projects
  • ▸ Brain Dump
  • ▸ Cyber Tools
  • ▸ About
  • ▸ Contact
  • Download CV

Connect

  • ◆ GitHub
  • ◆ LinkedIn
  • ◆ Twitter
  • ◆ YouTube
  • ◆ Telegram
© 2026 SCHIZO

Press / to search