How to install Nginx on Ubuntu, direct URL error?
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 😊