DEV Community

Cover image for Setup | MacOsvirtual host nginx
Dicky Saputra
Dicky Saputra

Posted on • Edited on

Setup | MacOsvirtual host nginx

note :

  1. Set up local server separately using homebrew
  2. maybe the location of the file is different

First, create the conf file at

\opt\homebrew\etc\nginx\servers
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 /opt/homebrew/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

Second, add the hostname to

\private\etc\hosts
Enter fullscreen mode Exit fullscreen mode
127.0.0.1   localhost
127.0.1.1   dicky54putra

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 nginx -s reload
Enter fullscreen mode Exit fullscreen mode

note: if there is error 403 nginx, try to run this command
chmod -R 755 project

Finally, the virtual host can be use and finished


Edited

12 december 2024

I just setup in my device but I have a trouble like this: the virtual host just shown the default page (welcome to nginx). to fix this: I add listen 80; in the top of config like

server {
    listen 80;
    server_name project.local;
...
}
Enter fullscreen mode Exit fullscreen mode

Top comments (2)

Collapse
 
nomitoor profile image
Nauman Javed

what is the file name in server folder

Collapse
 
dicky54putra profile image
Dicky Saputra

up to you, but usually I name it [project_name]