How to install Nginx on Ubuntu, direct URL error?

Vikas Kohli
2 min readDec 24, 2019

--

Nginx Install

To install nginx on ubuntu system, the following steps need to be done:

  • sudo apt update
  • sudo apt install nginx

This will install nginx on your system, now you can open the IP and find the default page by saying “Welcome to nginx”

We can start, restart, stop nginx by the following commands:-

Start Nginx:- We can start nginx webserver by writing

sudo service nginx start

or

sudo systemctl start nginx

Stop Nginx:- We can stop nginx webserver by writing

sudo service nginx stop

or

sudo systemctl start nginx

Restart Nginx:- We can restart nginx webserver by writing

sudo service nginx stop

or

sudo systemctl restart nginx

Default nginx file when we open the IP

The Default nginx configuration file

server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
#listen 443 ssl default_server;
#listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html; # Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

Default nginx file path:- /etc/nginx/sites-available/default

If we want to implement fallback, then we need to change the following line from “try_files $uri $uri/ =404; ” to “try_files $uri $uri/ /index.html;”

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404; #comment
try_files $uri $uri/ /index.html;
}

Like if I working on Angular then I upload my build folder to the server and mention our root path to root /var/www/html/mywebsite

If I didn’t do then direct URL not works in Nginx, but if do the same the direct URL other than homepage will work

Happy Server Configuration with Nginx 😊

--

--

Vikas Kohli
Vikas Kohli

Written by Vikas Kohli

B.E Software Developer, Enthusiastic, Ego-surfing

No responses yet