← Back to notes

// Note

Setup | MacOsvirtual host nginx

4 min read
virtualhostnginxmacos

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

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;
        }
}

Second, add the hostname to

\private\etc\hosts
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

Restart the nginx

sudo nginx -s reload

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;
...
}
Share