Mac 下用 brew 搭建 LNMP 和 LAMP 开发环境
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 /Users/username/Sites>
Options Indexes MultiViews
# apache 2.2
# AllowOverride All
# Order allow,deny
# Allow from 127.0.0.1
# apache 2.4
Require local
</Directory>
这样 Sites
目录就是网站根目录了,通过 http://localhost
就可以访问了。
常用命令
sudo apachectl start # 启动apache
sudo apachectl stop # 关闭apache
sudo apachectl restart # 重启apache
设置 vhost
设置 vhost 可以很方便的进行站点调试,尤其是对于需要在根目录运行的站点。推荐 VirtualHostX.
设置方法是:
sudo vi /etc/apache2/extra/httpd-vhosts.conf
然后输入:
<Directory "/pash/to/site">
Allow From All
AllowOverride All
Options +Indexes
</Directory>
<VirtualHost *:80>
ServerName "site.test"
DocumentRoot "/path/to/site"
</VirtualHost>
这么设置会有个问题,默认的 http://localhost
会被转到这儿来,所以专门再设置一下 localhost
的 host 就好了。
<VirtualHost *:80>
ServerName localhost
DocumentRoot /path/to/root
</VirtualHost>
然后把 host 文件改一下,把刚刚设置的 ServerName
改到本地就好了。
sudo vi /etc/hosts
写入:
127.0.0.1 site.test
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,这里需要重新安装,方法依然很简单
MongoDB
MongoDB 可以说是最简单的一个,直接执行
brew install mongodb
启动方法
mongod --fork
PHPMyAdmin
phpmyadmin 几乎是管理 mysql 最容易的 web 应用了吧,每次我都顺道装上。
- 去官网下载最新的版本
- 解压到~/Sites/phpmyadmin 下
- 在 phpmyadmin 目录下创建一个可写的 config 目录
- 打开 http://localhost/phpmyadmin/setup,安装一个服务,最后保存(这里只需要输入帐号密码就够了)
- 将 config 下生成的 config.inc.php 移到 phpmyadmin 根目录下
- 删除 config
这样就装好了,虽然可能有点小复杂,但是来一次就习惯了。
这里很可能会遇到 2002 错误,就是找不到 mysql.sock 的问题,用下面方法解决
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
RockMongo
RockMongo 是 MongoDB 很好用的一个 web 应用,安装也很容易
- 去官网下载最新版本
- 解压到~/Sites/rockmongo 下
- 运行 http://localhost/rockmongo 即可
把 site 放在 Dropbox 文件夹下
ln -s ~/Dropbox/sitename ~/Sites/sitename
chmod a+rw ~/Dropbox
chmod a+rw ~/Dropbox/sitename
完成
这样就在 mac 下配置好一个 php 开发环境了,enjoy it!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于