Installing nginx on Mac OSX
Install MacPorts: See InstallingMacPorts, then:
$ sudo port install nginx +ssl
Root folder is treated as /opt/local
so configuration files are under
/opt/local/etc/nginx
, with the default website under
/opt/local/share/nginx/html
.
Set nginx to start during boot
$ sudo port load nginx
or
$ sudo launchctl load /Library/LaunchDaemons/org.macports.nginx.plist
Disable nginx automatic startup at boot
$ sudo port unload nginx
or
$ sudo launchctl unload /Library/LaunchDaemons/org.macports.nginx.plist
Reload Configuration
$ sudo nginx -s reload
Installing PHP
These instructions relate to installing PHP version 7.3.13 on macOS 10.15.3 (Catalina) using MacPorts
Install the
php
andphp-fpm
packages:$ sudo port install php73 php73-fpm
Enable the Unix Socket in `php-fpm.conf'
$ cd /opt/local/etc/php73/ $ cp php-fpm.conf.default php-fpm.conf
Edit
php-fpm.conf
and uncomment the following line by removing the semi-colon prefix:pid = run/php73/php-fpm.pid
Create a configuration section in
/opt/local/etc/nginx/nginx.conf
E.g.
http { # ... other configuration directives ...
}server { listen 80 default_server; listen [::]:80 default_server; root share/nginx/html; index index.html index.htm index.nginx-debian.html index.php; 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$ { fastcgi_index index.php; include fastcgi.conf; fastcgi_split_path_info ^(.+?\.php)(/.*)$; # Check that the PHP script exists before passing it try_files $fastcgi_script_name =404; # Bypass the fact that try_files resets # see: http://trac.nginx.org/nginx/ticket/321 set $path_info $fastcgi_path_info; fastcgi_param PATH_INFO $path_info; # With php-fpm (or other unix sockets): fastcgi_pass unix:/opt/local/var/run/php73/php7.3-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; } }
Start the server with:
$ sudo port load nginx php73-fpm
Stop the server with:
$ sudo port unload nginx php73-fpm
See VikiHosting for some instructions on creating a PHP test page.
See Also:
-- Frank Dean - 14 Feb 2020
-- Frank Dean - 10 Mar 2017
Related Topics NginxTips, InstallingMacPorts, MacOSXTips, VikiHosting