Nginx + PHP-FPM on Ubuntu 24.04
Install Nginx + PHP-FPM on Ubuntu 24.04 server.
This is not a guide and not a toy.
This is a production-grade installer — secure, structured, and ready for multiple applications.
Why this installer exists
Default Nginx configs become unmanageable quickly. This setup keeps things structured and predictable.
What this installer does
✔ Creates snippet directory for modular config
✔ Optional security and bot-blocking modules
✔ Cloudflare Real-IP support
✔ Requests to bare server IP return 444
✔ Suitable for WordPress, Gitea, Zabbix, Wiki and more
What this installer does NOT do
It won’t stop you from running the script without reading the documentation like there’s no tomorrow.
Skip the README, and whatever happens next is your headache, not a bug report.
1. Prepare your system
sudo apt update -y
2. Download and enter the installer
git clone https://git.x-files.dk/webserver/nginx-ubuntu.git
cd nginx-ubuntu
3. Run the installer
sudo ./nginxinstall
After this runs, you have:
| Feature | Status |
|---|---|
| Nginx installed & enabled | ✓ |
| PHP-FPM configured | ✓ |
| Snippet structure created | ✓ |
| Default website disabled | ✓ (returns HTTP 444) |
| Cloudflare Real-IP support | ✓ |
| Bad-bot blocking available | ✓ |
| Custom error pages | ✓ editable |
Included Nginx Features
/etc/nginx/nginx-snippets/
Reusable drop-in configs:
| Snippet | Purpose |
|---|---|
| cloudflare.conf | Fixes real visitor IPs |
| block-bots.conf | Drops garbage traffic |
| csp.conf | Security headers |
| ssl.conf | TLS configuration |
| errorpages/ | Custom 40x/50x pages |
Default IP response
Server IP access = 444 Drop.
Because your server is not public property.
Caching
Performance tuning examples included, commented until activated intentionally.
What happens after install?
Example vhost:
server {
listen 443 ssl http2;
server_name yourdomain.com;
include nginx-snippets/cloudflare.conf;
include nginx-snippets/block-bots.conf;
root /var/www/yourproject;
index index.php index.html;
}
More Information
More guides and documentation can be found on wiki.x-files.dk
License
Licensed under the MIT License.