Installing NGINX on Mac. There are following steps to install the Nginx on Mac OS: Step 1: Download Homebrew. To install the Nginx on Mac OS, Homebrew must be installed on the system. Homebrew is a package manager for Mac operating system that allows us to install various Unix applications easily. Dec 04, 2017 My MacBook Pro installed Mac OS High Sierra and it was shipped with pre-installed PHP package. So, depending on your web development environment setup, you may need to upgrade default PHP version to the latest version. Normally, Mac OS X doesn’t ship with its own copy of MySQL. So, you will have to install MySQL on your local machine.
Seeking a satisfactory solution to create a local web server for programming in macOS with PHP and MySQL, I was disappointed that the turnkey solutions were far from equaling the WAMP that may exist on Windows.
But I forgot macOS is a Unix system, and unlike Windows, it’s perfectly possible to create a customized local server with some packages.
We will see how to install Nginx, PHP-FPM and MariaDB (MySQL) on macOS High Sierra thanks to Homebrew package manager.
HomeBrew is a package manager for macOS, that allows to easily install various Unix applications.
To install, simply execute the command shown on the official website:
If you do not already have them, macOS will prompt you to first install Xcode Command Line Tools.
Although Apache is natively included with macOS, we propose here to install Nginx, particularly lightweight and easily configurable.
To install and launch Nginx on startup, we use:
Although we musn’t use
brew install, it is necessary to use it to launch Nginx if we want to use the the default port 80.
We want to store our web site in the folder of our choice, and access to the URL
http://localhost/. To do this, edit the configuration file:
To begin, we will have to give to Nginx the permission to access our files and avoid a nasty
403 Forbidden error. To do so, we change the first line, where
<user> is your username:
Nginx For Mac Os High Sierra
Then, to add a new website, we will add a new section inside the
We then restart Nginx in order to take this changes into account:
In order to use PHP with Nginx we will use PHP-FPM.Here, we will use PHP 7.2, but you can easily choose any other version:
Then, we re-edit the configuration file:
Mac Os Download
We modify the line starting with
Finally, add in the section
server the following lines to run PHP for all files with the extension
Nginx For Mac Os 10.13
To avoid a
File not found. error, we also need to give the right permissions to PHP. In the following file:
Change the following parameter to:
At last, we restart Nginx to activate the changes, and we don’t forget to launch PHP, to avoid a
502 Bad Gateway:
Nginx For Mac Os Versions
We will now install and launch MariaDB:
Finally, complete the installation by choosing a
root password for MySQL:
Here is the perfect MAMP installation !
Mac OS X's kernel is based on Mach and Open BSD, which is a Unix-based system. It used to be very convenient to compile native C code on Mac OS X, until Snow Leopard. From Snow Leopard until now, it becomes worse and worse with each new version of Mac OS X. Yosemite marked the worst debacle of Mac OS X to date, but in term of compiling C native code, El Capitan and macSierra are not much better either. It looks like Tim Cook tries to alienate all professional developers from using Mac.
I really have hard time when I compile nginx with openssl on Mac OS X, both El Capitan and macSierra. So I document it here.
Download the latest file from nginx site: http://nginx.org/en/download.html
Extract the file:
tar -xzvf nginx-1.11.10.tar.gz
After you down load nginx, you also need to download openssl source from https://www.openssl.org/source/, extract the file, build openssl, and keep the source directory for further use, when you build nginx.
The nginx compiling process expect that there will be 'include' and 'lib' with include files and lib files in <OPENSSL SOURCE>/.openssl
You have to manually create the directory '.openssl' there, and copy the needed files from '/opt/openssl' that you already build above.
Go into the directory where you just extract the file, run the following command:
Then you are ready to run nginx from /opt/nginx/sbin
The command 'make' with the option '-stdlib=libstdc++' compiles and links nginx to correct platform target.