准备工作
新版的 Mac OS 内置了Apache 和 PHP,我的系统版本是OS X 10.9.3,可以通过以下命令查看Apache和PHP的版本号:
1 | httpd -v |
因为我们要自己动手来安装 Nginx,因此首先来关闭系统自带的apache:
1 | sudo apachectl stop #关闭apache,如果事先没开启过,可以忽略报错信息 |
如果你的apache已经加入了launchctl,使用下面的命令来关闭:
1 | sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist |
为什么选择关闭apache?因为mac os x系统自带的apache是没有优雅的remove/uninstall 的方式的… 对于“洁癖”比较严重的童鞋,可以选择直接删除相关的文件!(千万不要手抖删错目录…)
1 | sudo rm /usr/sbin/apachectl |
删除自带的php
1 | sudo rm -r /usr/bin/php |
如果没有安装brew,可以按照官网的步骤安装
1 | http://brew.sh/ |
nginx的安装与配置
安装nginx
1、连接到远程主机:
1 | brew install nginx |
修改配置文件1
2sudo vim /usr/local/etc/nginx/nginx.conf
#修改默认的8080端口为80,小于1024需要root权限
给予管理员权限
1 | sudo chown root:wheel /usr/local/opt/nginx/bin/nginx |
加入launchctl启动控制
1 | mkdir -p ~/Library/LaunchAgents |
运行nginx
1 | sudo nginx #打开 nginx |
注意
:出现Nginx操作错误,可以参照Mac Nginx 安装(源文件安装)
用法详解
1 | nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives] |
选项列表
1 | -?,-h : 打开帮助信息 |
mysql的安装与配置
安装mysql
1 | brew install mysql |
修改配置文件1
2sudo vim my.cnf
#如果出现无法启动mysql,rm my.cnf
加入launchctl启动控制
1 | mkdir -p ~/Library/LaunchAgents/ |
初始化 mysql
1 | ./bin/mysql_install_db |
执行安全设置脚本,设置root账号密码
1 | ./bin/mysql_secure_installation |
命令行连接mysql
1 | mysql -u root -p |
php的安装与配置
brew 默认没有 php 安装包:
1 | brew tap homebrew/dupes |
现在可以安装php了:
1 | brew install php54 --with-imap --with-tidy --with-debug --with-mysql --with-fpm |
将php路径加入PATH
1 | sudo vim ~/.bash_profile |
加入launchctl启动控制
1 | mkdir -p ~/Library/LaunchAgents |
配置路径
1 | /usr/local/etc/php/5.4/php.ini |
配置 Nginx 支持 PHP-FPM
1 | sudo vim /usr/local/etc/nginx/nginx.conf |
测试环境
1 | sudo vim /usr/local/Cellar/nginx/1.6.0_1/html/index.php |
结语
到目前为止,我们的Nginx、MySQL、PHP-FPM三大软件已经安装好了,针对不同的系统版本和软件版本,可能会遇到一些问题,欢迎留言探讨。
原文链接:Mac OS使用brew安装Nginx、MySQL、PHP-FPM的LAMP开发环境
参考资料:
- nginx服务器安装及配置文件详解
- 配置nginx静态文件代理和gzip
- 加速nginx: 开启gzip和缓存
- ngnix + node 的负载均衡
- 5个提高Node.js应用性能的技巧
- 如何在生产服务器上部署 Node.js 应用?
- Nginx 安装配置
- 全新安装Mac OSX 开发者环境 同时使用homebrew搭建 PHP,Nginx ,MySQL(LNMP开发环境)
- Nginx反向代理部署Node.js应用配置方法
- Nginx反向代理Nodejs – log4js日志IP显示错误
- node.js部署最佳实践
- 服务器nginx+nodejs配置
- 配置Nginx SSL Node.js环境详细指南
- 为高负载网络优化 Nginx 和 Node.js
- 阿里云服务器配置Nodejs生产环境全过程
- 使用 node.js + nginx 建设网站
- 01Web前端团队