Before we get started
If you are running Mac OS X Snow Leopard (version 10.6.x), please refer to this article: Nginx on Mac OS X Snow Leopard in 2 Minutes.
If you are running Mac OS X Lion (version 10.7.x), please refer to this article: Nginx on Mac OS X Lion in 2 Minutes.
You may use newer versions of Nginx and the prerequisite software, but whether you choose to do so, or you stick to the packages outlined in the above article, you will get a working Nginx web server on you Mac. Please note that the included build script will still work on Snow Leopard and Lion if you don’t want to go the DIY (do it yourself) route.
Overview
This guide will show you how I compiled a basic version of Nginx 1.3.8 on Mac OS X 10.8.2 Mountain Lion. The “2 minute” compilation that I mention in the title of this article is when using the script that I provide below. For the DIY folks, I’m breaking down the steps. Variations in your Mac’s specs, and your copy and paste skills may increase the total time to over 2 minutes.
Prerequisites
First, if you do not already have it installed, download and install Xcode from the Mac App Store.
Install PCRE
Nginx requires PCRE – Perl Compatible Regular Expressions to build, I used PCRE version 8.31. In a Terminal, run:
sudo mkdir -p /usr/local/src
cd /usr/local/src
sudo curl -OL ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.gz
sudo tar xvzf pcre-8.31.tar.gz
cd pcre-8.31
sudo ./configure --prefix=/usr/local
Note: if you get an error that looks like this:
configure: error: in `/usr/local/src/pcre-8.31':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
then do the following:
Make sure to have Xcode installed.
Open Xcode.
Click on the Xcode menu (next to the Apple menu in the top left) -> Preferences -> Downloads -> Components -> Click on Command Line Tools and click “Install”
Then go back to Terminal and type:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Then re-run:
sudo ./configure --prefix=/usr/local
If you didn’t get an error, or cleared the above errors out, continue here:
sudo make
sudo make install
cd ..
Install Nginx
(You should still be in /usr/local/src
, if you followed along from above.)
sudo curl -OL http://nginx.org/download/nginx-1.3.8.tar.gz
sudo tar xvzf nginx-1.3.8.tar.gz
cd nginx-1.3.8
sudo ./configure --prefix=/usr/local --with-http_ssl_module --with-pcre=../pcre-8.31
sudo make
sudo make install
Start Nginx
Assuming that you have /usr/local
in your $PATH (which nginx
should say:/usr/local/sbin/nginx
), you can simply run:
sudo nginx
Note: to add /usr/local
to your $PATH variable, edit or create ~/.profile
to include it. For reference, mine currently looks like this:
PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local:/usr/local/sbin:/usr/local/bin:/usr/X11/bin:/opt/X11/bin"
– I emphasized in bold type what you need to add to your PATH.
The 2 Minute way, using my script
All of the above instructions, in a nice little script. Save it to your Mac as build-nginx-mountain-lion.sh, open a new Terminal window and run:
chmod a+x build-nginx-mountain-lion.sh
sudo ./build-nginx-mountain-lion.sh
Conclusion
It’s a pretty quick process to get Nginx installed nicely on your Mac, especially if you use my script. This provides a very basic install, but it should get you moving in the right direction. Your feedback is appreciated, so leave a comment below.
Comments on this entry are closed.
Thanks for the guide. It helps a lot.
Thanks for the guide. It helped me as well.