Derek Coleman & Associates Inc logoDerek Coleman & Associates Inc

Home / Support / NGINX + PHP-FPM on Ubuntu 24.04 LTS

NGINX + PHP-FPM on Ubuntu 24.04 LTS — Support & Quick Start

NGINX + PHP-FPM on Ubuntu 24.04 LTS — NGINX with PHP-FPM is the high-performance pairing for PHP: event-driven serving with process-managed PHP execution. Published by Derek Coleman & Associates Inc on the Azure Marketplace, deployed in your own Azure subscription.

At a glance

Application ports80 (HTTP). 443 is allowed in the VM firewall, but nothing listens on it until you add a certificate for your domain (see Quick start)
Open in browserhttp://<VM-IP>/
Service(s)nginx, php8.3-fpm
Configuration/etc/nginx/sites-available/default; /etc/php/8.3/fpm/; web root /var/www/html/ (PHP info page at /info.php — remove it before production)
Logs/var/log/nginx/{access,error}.log; /var/log/php8.3-fpm.log
VersionNGINX 1.24 + PHP-FPM 8.3 (Ubuntu 24.04 packages)
PlatformUbuntu 24.04 LTS

Quick start

  1. Deploy from the Azure Marketplace (Get It Now → Create), choosing your SSH key at the Administration step.
  2. Allow inbound SSH (22) for yourself plus the application port(s): 80 (HTTP), and 443 once you have added a certificate — restrict to your own IP where possible. The in-image firewall already allows them; only the Network Security Group (NSG) keeps them closed.
  3. Browse to http://<VM-IP>/ — NGINX answers immediately; put your site in /var/www/html/ and reload with `sudo systemctl reload nginx`.
  4. Turn on HTTPS — it is not on out of the box. Point a DNS name at the VM (with port 80 reachable, because certbot proves the domain over HTTP), set `server_name your.domain;` in /etc/nginx/sites-available/default, then run `sudo apt install certbot python3-certbot-nginx` (certbot is not pre-installed) and `sudo certbot --nginx -d your.domain`, and allow 443 in the NSG.
  5. Remove /var/www/html/info.php before going live — it publishes your full PHP configuration.

First login

  1. No credential is generated: browse to http://<VM-IP>/ (and http://<VM-IP>/info.php for the PHP configuration — delete /var/www/html/info.php before going live).

Troubleshooting

SymptomCheckFix
https://<VM-IP>/ refuses the connection`sudo ss -lntp | grep ':443 '` prints nothingExpected until you add a certificate: the shipped site listens on port 80 only. Follow the HTTPS step in Quick start. (On images before 2026.1004.2208 the login message listed "443 (HTTPS)" among the ports; no version listens on 443 until a certificate is added.)

Still stuck?

Email support@dcassociatesgroup.com (response within 1 business day) or send a message via the contact form. Include the offer name, VM size, region, and any log output — sudo journalctl -u <service> -n 100 usually tells the story.