1. 程式人生 > >Mac OS使用brew安裝Nginx、MySQL、PHP-FPM的LAMP開發環境

Mac OS使用brew安裝Nginx、MySQL、PHP-FPM的LAMP開發環境

準備工作

新版的 Mac OS 內建了Apache 和 PHP,我的系統版本是OS X 10.9.3,可以通過以下命令檢視Apache和PHP的版本號:

httpd -v

    Server version: Apache/2.2.26 (Unix)
    Server built:   Dec 10 2013 22:09:38

php --version

    PHP 5.4.24 (cli) (built: Jan 19 2014 21:32:15)
    Copyright (c) 1997-2013 The PHP Group
    Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

因為我們要自己動手來安裝 Nginx,因此首先來關閉系統自帶的apache:

sudo apachectl stop  #關閉apache,如果事先沒開啟過,可以忽略報錯資訊

如果你的apache已經加入了launchctl,使用下面的命令來關閉:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

為什麼選擇關閉apache?因為mac os x系統自帶的apache是沒有優雅的remove/uninstall 的方式的... 對於“潔癖”比較嚴重的童鞋,可以選擇直接刪除相關的檔案!(千萬不要手抖刪錯目錄...)

sudo rm /usr/sbin/apachectl
sudo rm /usr/sbin/httpd
sudo rm -r /etc/apache2/

刪除自帶的php


sudo rm -r /usr/bin/php

如果沒有安裝brew,可以按照官網的步驟安裝

http://brew.sh/

nginx的安裝與配置

安裝nginx

brew install nginx

修改配置檔案

sudo vim /usr/local/etc/nginx/nginx.conf
    #修改預設的8080埠為80

給予管理員許可權


sudo chown root:wheel/usr/local/opt/nginx/bin/nginx
sudo chmod
u+s/usr/local/opt/nginx/bin/nginx

加入launchctl啟動控制


mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

執行nginx

sudo nginx #開啟 nginx
nginx -s reload|reopen|stop|quit  #重新載入配置|重啟|停止|退出 nginx
nginx -t   #測試配置是否有語法錯誤

用法詳解


nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

選項列表

-?,-h           : 開啟幫助資訊
-v              : 顯示版本資訊並退出
-V              : 顯示版本和配置選項資訊,然後退出
-t              : 檢測配置檔案是否有語法錯誤,然後退出
-q              : 在檢測配置檔案期間遮蔽非錯誤資訊
-s signal       : 給一個 nginx 主程序傳送訊號:stop(停止), quit(退出), reopen(重啟), reload(重新載入配置檔案)
-p prefix       : 設定字首路徑(預設是:/usr/local/Cellar/nginx/1.2.6/)
-c filename     : 設定配置檔案(預設是:/usr/local/etc/nginx/nginx.conf)
-g directives   : 設定配置檔案外的全域性指令

mysql的安裝與配置

安裝mysql


brew install mysql
cd /usr/local/opt/mysql/

修改配置檔案

sudo vim my.cnf
#如果出現無法啟動mysql,rm my.cnf 

加入launchctl啟動控制

mkdir -p ~/Library/LaunchAgents/
cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
#取消啟動
#launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

初始化 mysql

./bin/mysql_install_db 

執行安全設定指令碼,設定root賬號密碼

./bin/mysql_secure_installation

命令列連線mysql

mysql -uroot -p

php的安裝與配置

brew 預設沒有 php 安裝包:

brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php

現在可以安裝php了:

brew install php54 --with-imap --with-tidy --with-debug --with-mysql --with-fpm

將php路徑加入PATH

sudo vim ~/.bash_profile    
    export PATH="$(brew --prefix php54)/bin:$PATH"
    
source ~/.bash_profile

加入launchctl啟動控制

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php54/homebrew.mxcl.php54.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php54.plist

配置路徑

/usr/local/etc/php/5.4/php.ini
/usr/local/etc/php/5.4/php-fpm.conf

配置 Nginx 支援 PHP-FPM

sudo vim /usr/local/etc/nginx/nginx.conf    
    
    # 新增預設首頁 php
    index  index.php index.html index.htm;
    
    # 取消以下內容的註釋,並做修改
    location ~ \.php$ {
        fastcgi_intercept_errors on;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/local/Cellar/nginx/1.6.0_1/html$fastcgi_script_name;
        include        /usr/local/etc/nginx/fastcgi_params;
    }

測試環境

sudo vim /usr/local/Cellar/nginx/1.6.0_1/html/index.php

    #新增測試程式碼
    <?php 
        phpinfo();