Ubuntu 26.04 LTS
sudo apt install nginx
nginx -v
sudo systemctl enable/disable nginx
sudo systemctl start/stop/restart/status/reload nginx
Multiple Domains Setup
sudo vim /etc/nginx/sites-available/example1.com
server {
listen 80;
listen [::]:80;
server_name example1.com www.example1.com;
root /var/www/example1;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/example1.com
sudo nginx -t
sudo systemctl reload nginx
Gzip Setup
sudo vim /etc/nginx/nginx.conf
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_comp_level 5;
gzip_types
text/plain
text/css
text/javascript
application/javascript
application/json
application/xml
application/rss+xml
image/svg+xml;
sudo nginx -t
sudo systemctl reload nginx
curl -I -H "Accept-Encoding: gzip" http://localhost/
curl -I -H "Accept-Encoding: gzip" http://your-domain.com/
Ubuntu 24.04 LTS
sudo apt update && sudo apt upgrade
sudo apt install nginx
sudo nginx -v
sudo vim /etc/nginx/sites-available/default
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl enable/disable nginx
sudo systemctl start/stop/restart/status nginx
Ubuntu 22.04 LTS
sudo apt update
sudo apt install nginx
sudo systemctl enable --now nginx
sudo systemctl start/restart/reload/stop/enable/disable nginx
sudo vim /etc/nginx/sites-available/default
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
FreeBSD 13
# freebsd-update fetch install
# pkg install -y nginx
# sysrc nginx_enable=yes
# service nginx start
# ee /usr/local/etc/nginx/nginx.conf
Centos 7 & 8
sudo dnf install nginx
nginx -v
nginx -V
sudo vim /etc/nginx/nginx.conf
sudo vim /etc/nginx/conf.d/*.conf
nginx -t
sudo vim /var/log/nginx/access.log
sudo vim /var/log/nginx/error.log
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
sudo systemctl start/stop/status/enable/disable nginx
nginx -s stop/quit/reopen/reload
nginx -c filename
Firewall
sudo ufw app list
sudo ufw allow 'Nginx Full'
sudo ufw reload
sudo ufw status
Notes
reload[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
Then it means nginx or some other process is already using port 80.
You can kill it using:
sudo fuser -k 80/tcp
And then try restarting nginx again:
service nginx start