Product docs and API reference are now on Akamai TechDocs.
Search product docs.
Search for “” in product docs.
Search API reference.
Search for “” in API reference.
Search Results
 results matching 
 results
No Results
Filters
Installing NGINX on Ubuntu 18.04
- Ubuntu 20.04
- Debian 9
- Debian 10
- CentOS 8
- AlmaLinux 8
- Deprecated guides:
- Ubuntu 12.04
Traducciones al EspañolEstamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
![](/docs/images/pix.gif)
![Install NGINX on Ubuntu 18 Install NGINX on Ubuntu 18](/docs/guides/how-to-install-nginx-ubuntu-18-04/install-nginx-ubuntu-smg_hu9be83bac640751fa45e41d752b59142e_42761_694x0_resize_q71_bgfafafc_catmullrom.jpg)
![Install NGINX on Ubuntu 18 Install NGINX on Ubuntu 18](/docs/guides/how-to-install-nginx-ubuntu-18-04/install-nginx-ubuntu-smg_hu9be83bac640751fa45e41d752b59142e_42761_1388x0_resize_q71_bgfafafc_catmullrom.jpg)
What is NGINX?
NGINX is an open source web server with powerful load balancing, reverse proxy, and caching features. It was initially designed to solve scaling and concurrency problems with existing web servers. Its event-based, asynchronous architecture has made it one of the most popular and best-performing web servers available.
Before You Begin
Set up your Linode in the Creating a Compute Instance and Setting Up and Securing a Compute Instance guide.
If you want a custom domain name for your site, you can set this up using our DNS Manager guide.
- Don’t forget to update your
/etc/hosts
file with the public IP and your site’s fully qualified domain name as explained in the Update Your System’s hosts File section of the Setting Up and Securing a Compute Instance guide.
Note This guide is written for a non-root user. Commands that require elevated privileges are prefixed with
sudo
. If you’re not familiar with thesudo
command, visit our Users and Groups guide.All configuration files should be edited with elevated privileges. Remember to include
sudo
before running your text editor.- Don’t forget to update your
Install NGINX
Currently, the best way to install NGINX on Ubuntu 18.04 LTS is to use the version included in Ubuntu’s repositories:
sudo apt update
sudo apt install nginx
Add a Basic Site
Create a new directory for your site. Replace
example.com
with your site’s domain name.sudo mkdir /var/www/example.com
You can add your site’s files in your
/var/www/example.com
directory. Create an index file with a simple “Hello World” example. Using the text editor of your choice, create a new file,/var/www/example.com/index.html
. Replaceexample.com
with your website’s domain name or your Linode’s public IP address.- File: /var/www/example.com/index.html
1 2 3 4 5 6 7 8 9 10 11
<!DOCTYPE html> <html> <head> <title>My Basic Website</title> </head> <body> <header> <h1>Hello World!</h1> </header> </body> </html>
Configure NGINX
NGINX site-specific configuration files are kept in /etc/nginx/sites-available
and symlinked into /etc/nginx/sites-enabled/
. Generally you will want to create a separate original file in the sites-available
directory for each domain or subdomain you will be hosting, and then set up a symlink in the sites-enabled
directory.
Disable the default configuration file by removing the symlink in
/etc/nginx/sites-enabled/
:sudo unlink /etc/nginx/sites-enabled/default
Create a configuration file for your site in the text editor of your choice. Replace
example.com
in theserver_name
directive with your site’s domain name or IP address:- File: /etc/nginx/sites-available/example.com
1 2 3 4 5 6 7 8 9 10 11 12
server { listen 80; listen [::]:80; server_name example.com; root /var/www/example.com; index index.html; location / { try_files $uri $uri/ =404; } }
Set up a new symlink to the
/etc/nginx/sites-enabled/
directory to enable your configuration:sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Test NGINX
Test your configuration for errors:
sudo nginx -t
Reload the configuration:
sudo nginx -s reload
Navigate to your Linode’s domain name or IP address in a browser. You should see your simple page displayed.
Advanced Configuration
For more advanced configuration options, including security and performance optimizations and TLS setup, see our four-part series on NGINX:
- Part 1: Installation and Basic Setup
- Part 2: (Slightly More) Advanced Configurations
- Part 3: Enable TLS for HTTPS Connections
- Part 4: TLS Deployment Best Practices
More Information
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
This page was originally published on