Mac下搭建lamp开发环境:自制vs集成,兼谈brew用法

Mac下搭建lamp开发环境:自制vs集成,兼谈brew用法

Brew

brew 之于 mac,如同 apt-get 之于 ubuntu,它是安装软件的得力助手,能带来诸多便利。

brew的安装方式如下:

ruby -e "通过 curl 命令来获取指定的 URL 内容,该 URL 为 https://raw.github.com/mxcl/homebrew/go/install ,并且使用了 -fsSL 参数以确保安全和快速地获取,获取到的内容将被用于某种操作(可能是安装相关的操作)。"

brew常用选项

brew install xxx
brew uninstall xxx
brew list 
brew update xxx

Apache || Nginx Apache

Apache 的话,使用 mac 自带的基本就足够了。我的系统是 10.9,能够使用以下这些命令来控制 Apache。

sudo[id_1154019765]
sudo apachectl restart
sudo apachectl stop

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

http://localhost/~user_name

这样做很不适合用于开发。需要对 /etc/apache2/httpd.conf 的内容进行修改。

DocumentRoot "/Users/username/Sites"
<Directory />Options Indexes MultiViewsAllowOverride AllOrder allow,denyAllow from all
Directory>

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

Nginx

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

brew install nginx

启动 Nginx 的命令如下,并且如果想要监听 80 端口,就必须以管理员身份运行;关闭 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; }   将 PHP 脚本代理到 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 里面添加如下内容。

将环境变量 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 应用。每次我都会顺便将它安装上。

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

这里很可能会遭遇 2002 错误,也就是找不到 mysql.sock 的状况。可以通过以下方法来解决。

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

RockMongo

RockMongo 是一个对 MongoDB 很实用的 web 应用,它的安装过程较为简便。

完成

在 mac 下完成了一个 php 开发环境的配置,现在可以尽情享受啦!

在 Mac OSX 10.9 中搭建 nginx+mysql+php-fpm 环境

本文是互联网用户投递的。文章的观点仅仅属于作者本人,和本站的立场没有关系,也不承担相应的法律责任。如果要进行转载,就需要注明出处。如果内容出现了侵权、违法违规或者与事实不符的情况,就可以点击相关链接或按钮进行处理。【内容举报】进行投诉反馈!

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

53阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读