Mac下用brew搭建PHP(LNMP/LAMP)開發環境

來源:互聯網
上載者:User

標籤:blog   http   io   ar   os   使用   sp   for   檔案   

Mac下搭建lamp開發環境很容易,有xampp和mamp現成的Integration Environment。但是Integration Environment對於經常需要自訂一些配置的開發人員來說會非常麻煩,而且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 xxxbrew uninstall xxxbrew list brew update xxx
Apache || NginxApache

Apache的話使用mac內建的基本就夠了,我的系統是10.9,可以使用以下命令控制Apache

sudo apachectl startsudo apachectl restartsudo 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連接埠,必須以管理員身份運行)

#開啟 nginxsudo nginx#重新載入配置|重啟|停止|退出 nginxnginx -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 nginxsudo php-fpm -D
PHP

PHP在mac下預設安裝了,但是不好控製版本,利用brew可以再mac下安裝最新版本,甚至是多個版本,我裝了php5.5

brew updatebrew tap homebrew/dupesbrew tap josegonzalez/homebrew-php# brew install php55 --with-fpm #Nginxbrew 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-mysqlbrew install php55-mongo
MySQL

mac不內建mysql,這裡需要重新安裝,方法依然很簡單

brew install mysqlunset TMPDIRmysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmpsudo 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-loggeneral_log_file = /usr/local/var/log/mysqld.log
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/mysqlsudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
RockMongo

RockMongo是MongoDB很好用的一個web應用,安裝也很容易

  • 去官網下載最新版本
  • 解壓到~/Sites/rockmongo下
  • 運行http://localhost/rockmongo即可
完成

這樣就在mac下配置好一個php開發環境了,enjoy it!

參考
  1. Hot to install nginx, PHP-fpm 5.5.6, mongo and MySql on mac with homebrew
  2. Mac OSX 10.9搭建nginx+mysql+php-fpm環境

Mac下用brew搭建PHP(LNMP/LAMP)開發環境

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.