Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境。但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且Mac本身自带apache和php,在brew的帮助下非常容易手动搭建,可控性很高。

Brew

brew对于mac,就像apt-get对于ubuntu,安装软件的好帮手,不能方便更多…

brew的安装方式如下:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"

brew常用选项

brew install xxx
brew uninstall xxx
brew list
brew update xxx

Apache || Nginx

Apache

Apache的话使用mac自带的基本就够了,我的系统是10.9,可以使用以下命令控制Apache

sudo apachectl start
sudo apachectl restart
sudo apachectl stop

唯一要改的是主目录,mac默认在home下有个sites(站点)目录,访问路径是

http://localhost/~user_name

这样很不适合做开发用,修改/etc/apache2/httpd.conf内容

DocumentRoot "/Users/username/Sites"
<Directory />
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

这样sites目录就是网站根目录了,代码都往这个下头丢

Nginx

要使用Nginx也比较方便,首先安装

brew install nginx

启动关闭Nginx的命令如下(如果想要监听80端口,必须以管理员身份运行)

#打开 nginx
sudo nginx
#重新加载配置|重启|停止|退出 nginx
nginx -s reload|reopen|stop|quit
#测试配置是否有语法错误
nginx -t

配置Nginx

cd /usr/local/etc/nginx/
mkdir conf.d

修改Nginx配置文件

vim nginx.conf

主要修改位置是最后的include

worker_processes  1;  

error_log       /usr/local/var/log/nginx/error.log warn;

pid        /usr/local/var/run/nginx.pid;

events {
worker_connections 256;
} http {
include mime.types;
default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; access_log /usr/local/var/log/nginx/access.log main;
port_in_redirect off;
sendfile on;
keepalive_timeout 65; include /usr/local/etc/nginx/conf.d/*.conf;
}

修改自定义文件

vim ./conf.d/default.conf

增加一个监听端口

server {
listen 80;
server_name localhost; root /Users/username/Sites/; # 该项要修改为你准备存放相关网页的路径 location / {
index index.php;
autoindex on;
} #proxy the php scripts to php-fpm
location ~ \.php$ {
include /usr/local/etc/nginx/fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
} }

这个时候还不能访问php站点,因为还没有开启php-fpm。

虽然mac 10.9自带了php-fpm,但是由于我们使用了最新的PHP,PHP中自带php-fpm,所以使用PHP中的php-fpm可以保证版本的一致。

这里的命令在安装完下一步的php后再执行

sudo nginx
sudo php-fpm -D

PHP

PHP在mac下默认安装了,但是不好控制版本,利用brew可以再mac下安装最新版本,甚至是多个版本,我装了php5.5

brew update
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
# brew install php55 --with-fpm #Nginx
brew install php55 #Apache

然后修改php的cli路径和apache使用的php模块。在.bashrc或.zshrc里头加以下内容

#export PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH"
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"

就用刚刚安装的php代替了系统默认cli的php版本。然后在/etc/apache2/httpd.conf下增加

LoadModule php5_module /usr/local/Cellar/php55/5.5.8/libexec/apache2/libphp5.so

这样就对apache使用的php版本也进行了修改。

后面会用到mongo和mysql,所以可以直接利用下面命令安装php模块,其他模块也类似

brew install php55-mysql
brew install php55-mongo

MySQL

mac不自带mysql,这里需要重新安装,方法依然很简单

brew install mysql
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
sudo chown -R your_user /usr/local/var/mysql/

第一句是安装,后面的是确保正常使用。然后是启动命令

mysql.server start

最好给mysql设个密码,方法如下

mysqladmin -u root password 'xxx'

如果想修改mysql的配置,在/usr/local/etc下建立一个my.cnf,例如增加log

[mysqld]
general-log
general_log_file = /usr/local/var/log/mysqld.log

MongoDB

MongoDB可以说是最简单的一个,直接执行

brew install mongodb

启动方法

mongod --fork

PHPMyAdmin

phpmyadmin几乎是管理mysql最容易的web应用了吧,每次我都顺道装上。

1.去官网下载最新的版本
2.解压到~/Sites/phpmyadmin下
3.在phpmyadmin目录下创建一个可写的config目录
4.打开http://localhost/phpmyadmin/setup,安装一个服务,最后保存(这里只需要输入帐号密码就够了)
5.将config下生成的config.inc.php移到phpmyadmin根目录下
6.删除config

这样就装好了,虽然可能有点小复杂,但是来一次就习惯了。

这里很可能会遇到2002错误,就是找不到mysql.sock的问题,用下面方法解决

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

RockMongo

RockMongo是MongoDB很好用的一个web应用,安装也很容易

1.去官网下载最新版本
2.解压到~/Sites/rockmongo下
3.运行http://localhost/rockmongo即可

完成

这样就在mac下配置好一个php开发环境了,enjoy it!

Mac下使用Brew搭建PHP(LNMP/LAMP)开发环境的更多相关文章

  1. Mac下用brew搭建PHP(LNMP/LAMP)开发环境

    Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境.但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且Mac本身自带apache和php,在brew的帮助下非常容 ...

  2. Mac下使用brew搭建PHP7+nginx+mysql开发环境

    http://blog.csdn.net/mysteryhaohao/article/details/52230634 HomeBrew brew的安装,直接上官网:http://brew.sh/ 一 ...

  3. MAC 下用 brew 搭建 PHP 开发环境

    Mac下用brew搭建PHP(LNMP/LAMP)开发环境 Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境.但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且 ...

  4. mac下配置phonegap(cordova)5.1.1开发环境

    眼下最新的cordova的版本号是5.1.1,在mac下搭建开发环境过程例如以下: 1)首先安装NODEJS环境 进入官网: http://nodejs.org/ .眼下的版本号: v0.12.7 点 ...

  5. windows 下用eclipse搭建java、python开发环境

    本人只针对小白!本文只针对小白!本文只针对小白! 最近闲来无事,加上之前虽没有做过eclipse上java.python的开发工作,但一直想尝试一下.于是边查找资料边试验,花了一天时间在自己的机器上用 ...

  6. 无废话--Mac OS, VS Code 搭建c/c++基本开发环境

    无废话,直接上步骤. 1) 安装 xcode. 打开App Store,搜索xcode,进行下载安装. 2)执行命令: xcode-select --install 安装命令行工具. 3)安装VS C ...

  7. mac下通过docker搭建LEMP环境

    在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...

  8. mac 下 用 glfw3 搭建opengl开发环境

    mac 下 用 glfw3 搭建opengl开发环境 下载编译 glfw3 Build Setting 里面, Library Search Paths -> 设置好编译 glfw 库的路径 H ...

  9. mac 下用 brew 安装mongodb

    转自:mac 下用 brew 安装mongodb 经过这位仁兄的文章指导,终于连上了mongodb. 启动mongo数据库,就是打开一个终端sudo mongod,然后打开另一个终端sudo mong ...

随机推荐

  1. ARM系统中函数调用过程中的参数传递-转

    在 嵌入式软件编程中,经常会用到函数调用,之前在学习如何在C语言中嵌入汇编时有了解到C语言之前的参数调用是使用寄存器R0传递第一个参数,R1传递到第 二个..一直到R3传递第四个参数.但是实际上有时可 ...

  2. 设计模式笔记之三:Android DataBinding库(MVVM设计模式)

    本博客转自郭霖公众号:http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650236908&idx=1&sn=9e53 ...

  3. iOS开发——GCDAsyncSocket

    新进的这家公司搞智能家居,就随便整理一下其相关技术吧!首先,从GCDAsyncSocket的使用问题着手. 正如名称一样GCDAsyncSocket开源类库是以苹果的GCD多任务处理机制完成的一个异步 ...

  4. Fourinone 作者博客 -集群复制

    http://my.oschina.net/fourinone/blog http://www.iteye.com/blogs/subjects/fourinone http://fourinone. ...

  5. h2database. 官方文档

    http://www.h2database.com/html/advanced.html http://www.h2database.com/html/tutorial.html#csv http:/ ...

  6. protobuf python api

    摘要: python中一切都可以看作类.那么如何查看每个类的API.使用ipython python  protobuf 的函数在message中定义 此处所有的api说明:https://devel ...

  7. Mysql update语句赋值嵌套与在表列中数据后面增加数据

    1.Mysql update语句赋值嵌套select  点击(此处)折叠或打开 update a set col=(select col from a where id='5') where id&g ...

  8. spring MVC 初探 (HelloWorld)

    1.使用spring MVC 需要导入相关jar包 2.web.xml 启用spring MVC <servlet> <servlet-name>spring3mvc</ ...

  9. Linux如何正确关机

    其实,在Linux领域内大多用在服务器上,很少遇到关机的操作.毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机. Linux和windows不同,在 Linux 底下,由于每个程序( ...

  10. js-权威指南学习笔记9

    第九章 类和模块 1.在JS中,类的实现是基于其原型继承机制的,如果两个实例都从同一个原型对象上继承了属性,我们说它们是同一个实例. 2.常见的编程约定:定义构造函数既是定义类,并且类名首字母要大写. ...