Skip to content

Compile Nginx from source with custom modules on Debian and Ubuntu

License

Notifications You must be signed in to change notification settings

frankpanduh/nginx-autoinstall

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nginx-autoinstall

Compile and install Nginx from source with optional modules.

screenshot

Compatibility

  • x86, x64, arm*
  • Debian 8 and later
  • Ubuntu 16.04 and later

Features

  • Latest mainline or stable version, from source
  • Optional modules (see below)
  • Removed useless modules
  • Custom nginx.conf (default does not work)
  • Init script for systemd (not provided by default)
  • Logrotate conf (not provided by default)
  • Block Nginx installation from APT using pinning, to prevent conflicts

Optional modules/features

Install Nginx

Just download and execute the script :

wget https://raw.githubusercontent.com/angristan/nginx-autoinstall/master/nginx-autoinstall.sh
chmod +x nginx-autoinstall.sh
./nginx-autoinstall.sh

You can check configuration examples for the custom modules.

Uninstall Nginx

Just select the option when running the script :

update

You have the choice to delete the logs and the conf.

Update Nginx

To update Nginx, run the script and install Nginx again. It will overwrite current Nginx files and/or modules.

Update the script

The update feature downloads the script from this repository, and overwrites the current nginx-autoinstall.sh file in the working directory. This allows you to get the latest features, bug fixes, and module versions automatically.

update

Install Bad Bot Blocker

This option will install Nginx Bad Bot and User-Agent Blocker. (Nginx Bad Bot and User-Agent Blocker, Spam Referrer Blocker, Anti DDOS, Bad IP Blocker and Wordpress Theme Detector Blocker)

See additional steps to add a cron job for automatic updating, customization and testing in the link above.

Headless use

You can run the script without the prompts with the option HEADLESS set to y.

HEADLESS=y ./nginx-autoinstall.sh

To install Nginx mainline with Brotli:

HEADLESS=y \
NGINX_VER=2 \
BROTLI=y \
./nginx-autoinstall.sh

To uninstall Nginx and remove the logs and configuration files:

HEADLESS=y \
OPTION=2 \
RM_CONF=y \
RM_LOGS=y \
./nginx-autoinstall.sh

All the default variables are set at the beginning of the script.

LICENSE

GPL v3.0

About

Compile Nginx from source with custom modules on Debian and Ubuntu

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%