找回密码
 FreeOZ用户注册
查看: 1226|回复: 1
打印 上一主题 下一主题

[IT技术] 如何在mac下用brew搭建LNMP/LAMP环境

[复制链接]
跳转到指定楼层
1#
发表于 13-7-2014 00:09:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
php作为主流web开发语言之一,在澳洲web开发市场还是占有不少份额,这篇文章介绍了如何在mac os下搭建php的开发环境。

转自:
http://yansu.org/2013/12/11/lamp-in-mac.html

(原版的格式比较易读,推荐看原版link)

评分

参与人数 1威望 +50 收起 理由
wiserfirst + 50 谢谢分享!

查看全部评分

回复  

使用道具 举报

2#
 楼主| 发表于 13-7-2014 00:11:09 | 只看该作者

Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境。但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且Mac本身自带apache和php,在brew的帮助下非常容易手动搭建,可控性很高
Brew
brew对于mac,就像apt-get对于ubuntu,安装软件的好帮手,不能方便更多...

brew的安装方式如下:

  1. ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
复制代码
brew常用选项

  1. brew install xxx
  2. brew uninstall xxx
  3. brew list
  4. brew update xxx
复制代码
Apache || Nginx

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

  1. sudo apachectl start
  2. sudo apachectl restart
  3. sudo apachectl stop
复制代码
唯一要改的是主目录,mac默认在home下有个sites(站点)目录,访问路径是

http://localhost/~user_name

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

  1. DocumentRoot "/Users/username/Sites"
  2. <Directory />
  3.     Options Indexes MultiViews
  4.     AllowOverride All
  5.     Order allow,deny
  6.     Allow from all
  7. </Directory>
复制代码
这样sites目录就是网站根目录了,代码都往这个下头丢

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

  1. brew install nginx
复制代码
启动关闭Nginx的命令如下(如果想要监听80端口,必须以管理员身份运行)

#打开 nginx

  1. sudo nginx
复制代码
#重新加载配置|重启|停止|退出 nginx

  1. nginx -s reload|reopen|stop|quit
复制代码
#测试配置是否有语法错误

  1. nginx -t
复制代码
配置Nginx

  1. cd /usr/local/etc/nginx/
  2. mkdir conf.d
复制代码
修改Nginx配置文件

  1. vim nginx.conf
复制代码
主要修改位置是最后的include

  1. worker_processes  1;  

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

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

  4. events {
  5.     worker_connections  256;
  6. }

  7. http {
  8.     include       mime.types;
  9.     default_type  application/octet-stream;

  10.     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  11.                       '$status $body_bytes_sent "$http_referer" '
  12.                       '"$http_user_agent" "$http_x_forwarded_for"';

  13.     access_log      /usr/local/var/log/nginx/access.log main;
  14.     port_in_redirect off;
  15.     sendfile        on;
  16.     keepalive_timeout  65;

  17.     include /usr/local/etc/nginx/conf.d/*.conf;
  18. }
复制代码
修改自定义文件

  1. vim ./conf.d/default.conf
复制代码
增加一个监听端口

  1. server {
  2.     listen       80;
  3.     server_name  localhost;

  4.     root /Users/username/Sites/; # 该项要修改为你准备存放相关网页的路径

  5.     location / {
  6.         index index.php;
  7.         autoindex on;
  8.     }   

  9.     #proxy the php scripts to php-fpm  
  10.     location ~ \.php$ {
  11.         include /usr/local/etc/nginx/fastcgi.conf;
  12.         fastcgi_intercept_errors on;
  13.         fastcgi_pass   127.0.0.1:9000;
  14.     }   

  15. }
复制代码
这个时候还不能访问php站点,因为还没有开启php-fpm。

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

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

  1. sudo nginx
  2. sudo php-fpm -D
复制代码
PHP
PHP在mac下默认安装了,但是不好控制版本,利用brew可以再mac下安装最新版本,甚至是多个版本,我装了php5.5

  1. brew update
  2. brew tap homebrew/dupes
  3. brew tap josegonzalez/homebrew-php
  4. # brew install php55 --with-fpm #Nginx
  5. brew install php55 #Apache
复制代码
然后修改php的cli路径和apache使用的php模块。在.bashrc或.zshrc里头加以下内容

  1. #export PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH"
  2. export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
复制代码
就用刚刚安装的php代替了系统默认cli的php版本。然后在/etc/apache2/httpd.conf下增加

  1. LoadModule php5_module /usr/local/Cellar/php55/5.5.8/libexec/apache2/libphp5.so
复制代码
这样就对apache使用的php版本也进行了修改。

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

  1. brew install php55-mysql
  2. brew install php55-mongo
复制代码
MySQL
mac不自带mysql,这里需要重新安装,方法依然很简单

  1. brew install mysql
  2. unset TMPDIR
  3. mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
  4. sudo chown -R your_user /usr/local/var/mysql/
复制代码
第一句是安装,后面的是确保正常使用。然后是启动命令

  1. mysql.server start
复制代码
最好给mysql设个密码,方法如下

  1. mysqladmin -u root password 'xxx'
复制代码
如果想修改mysql的配置,在/usr/local/etc下建立一个my.cnf,例如增加log

  1. [mysqld]
  2. general-log
  3. general_log_file = /usr/local/var/log/mysqld.log
复制代码
MongoDB
MongoDB可以说是最简单的一个,直接执行

  1. brew install mongodb
复制代码
启动方法

  1. mongod --fork
复制代码
PHPMyAdmin
phpmyadmin几乎是管理mysql最容易的web应用了吧,每次我都顺道装上。

去官网下载最新的版本
解压到~/Sites/phpmyadmin下
在phpmyadmin目录下创建一个可写的config目录
打开http://localhost/phpmyadmin/setup,安装一个服务,最后保存(这里只需要输入帐号密码就够了)
将config下生成的config.inc.php移到phpmyadmin根目录下
删除config
这样就装好了,虽然可能有点小复杂,但是来一次就习惯了。

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

  1. sudo mkdir /var/mysql
  2. sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
复制代码
RockMongo
RockMongo是MongoDB很好用的一个web应用,安装也很容易

去官网下载最新版本
解压到~/Sites/rockmongo下
运行http://localhost/rockmongo即可
完成
这样就在mac下配置好一个php开发环境了,enjoy it!

评分

参与人数 1威望 +50 收起 理由
愚夫 + 50 谢谢分享!

查看全部评分

回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+11, 27-10-2024 08:35 , Processed in 0.042171 second(s), 25 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表