准備工作
新版的 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
給予管理員權限
Nginx監聽80端口需要root權限執行,因此:
sudo chown root:wheel /usr/local/Cellar/nginx/1.6.0_1/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.6.0_1/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 #測試配置是否有語法錯誤
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();
結語
到目前為止,我們的Nginx、MySQL、PHP-FPM三大軟件已經安裝好了,針對不同的系統版本和軟件版本,可能會遇到一些問題,歡迎留言探討。