DEV Community

Cover image for Setup virtual host ubuntu nginx
Dicky Saputra
Dicky Saputra

Posted on • Updated on

Setup virtual host ubuntu nginx

First, create the conf file at

\etc\nginx\sites-available
Enter fullscreen mode Exit fullscreen mode

and then fill the content, ex:

# Upstream to abstract backend connection(s) for php

server {
        ## Your website name goes here.
        server_name project.local;
        ## Your only path reference.
        root /var/www/project;
        ## This should be in your http block and if it is, it's not needed here.
        index index.php;
        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }
        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }
        location / {
                # This is cool because no php is touched for static content.
                # include the "?$args" part so non-default permalinks doesn't break when using query string
                try_files $uri $uri/ /index.php?$args;
        }
        location ~ \.php$ {
                #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                include fastcgi.conf;
                fastcgi_intercept_errors on;
                fastcgi_pass php;
        }
        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }
}
Enter fullscreen mode Exit fullscreen mode

after that run the symlink

sudo ln -s /etc/nginx/sites-available/project /etc/nginx/sites-enabled/project
Enter fullscreen mode Exit fullscreen mode

Second, add the hostname to

\etc\hosts
Enter fullscreen mode Exit fullscreen mode
127.0.0.1   localhost
127.0.1.1   dicky54putra-X441UA

127.0.0.1   project.local

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# Added by Docker Desktop
# To allow the same kube context to work on the host and the container:
127.0.0.1   kubernetes.docker.internal
# End of section

Enter fullscreen mode Exit fullscreen mode

Restart the nginx

sudo service nginx restart
Enter fullscreen mode Exit fullscreen mode

Finally, the virtual host can be use and finished

Discussion (0)