1.1 Homebrew
Homebrew又叫Brew,是MacOS上的軟件包管理工具址芯,能在Mac中方便的安裝軟件或者卸載軟件义郑,和linux系統(tǒng)中的yum非常相似迂尝,只需要一個(gè)命令,非常方便茂蚓。官方網(wǎng)站:http://brew.sh
安裝方法(打開 Terminal 終端壕鹉,輸入):
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
檢驗(yàn)安裝成功方法(打開 Terminal 終端,輸入):
brew doctor
安裝常用軟件包(打開 Terminal 終端聋涨,輸入):
brew install wget
brew install autoconf
brew install openssl
Brew 常用語句(打開 Terminal 終端晾浴,輸入):
#我這里以操作 php70 為例
brew update #更新brew可安裝包,建議每次執(zhí)行一下
brew search php70 #搜索php7.0
brew tap josegonzalez/php #安裝擴(kuò)展<gihhub_user/repo>
brew tap #查看安裝的擴(kuò)展列表
brew install php70 #安裝php7.0
brew remove php70 #卸載php7.0
brew upgrade php70 #升級php7.0
brew options php70 #查看php7.0安裝選項(xiàng)
brew info php70 #查看php7.0相關(guān)信息
brew home php70 #訪問php7.0官方網(wǎng)站
人在天朝的話牍白,極有可能出現(xiàn)安裝速度過于緩慢的情況脊凰,有時(shí)候會(huì)讓你感覺安裝處于假死的狀態(tài),不必?fù)?dān)心茂腥,耐心等待即可笙各,切不可心煩意亂的關(guān)閉終端窗口(網(wǎng)上有其他教程說可以切換 brew 的源到中科大 CDN,本人親測:中科大 CDN 雖然快很多础芍,但是clone 下來的文件和原本源存在一定差異杈抢,更新不及時(shí)。個(gè)人建議還是耐心等待仑性,使用原本的源)
1.2 Oh my zsh
目前常用的 Linux 系統(tǒng)和 Mac OS 系統(tǒng)的默認(rèn) Shell 都是 bash惶楼,但是真正強(qiáng)大的 Shell 是深藏不露的 zsh,史稱『終極 Shell』诊杆,這玩意兒就像「X天 Php 從入門到放棄」系列歼捐,但這次是真的神功速成。Github:https://github.com/robbyrusse...
安裝方法(打開 Terminal 終端晨汹,輸入):
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
人在天朝的話豹储,極有可能出現(xiàn)安裝速度過于緩慢的情況,有時(shí)候會(huì)讓你感覺安裝處于假死的狀態(tài)淘这,不必?fù)?dān)心剥扣,耐心等待即可,切不可心煩意亂的關(guān)閉終端窗口(網(wǎng)上有其他教程說可以切換 brew 的源到中科大 CDN铝穷,本人親測:中科大 CDN 雖然快很多钠怯,但是clone 下來的文件和原本源存在一定差異,更新不及時(shí)曙聂。個(gè)人建議還是耐心等待晦炊,使用原本的源)
1.3 Xcode
Xcode 是蘋果出品的包含一系列工具及庫的開發(fā)套件。
通過 AppStore 安裝最新版本的 Xcode
我們一般不會(huì)用 Xcode 來開發(fā)后端項(xiàng)目。但這一步也是必須的断国,因?yàn)?Xcode 會(huì)附帶安裝一些如 Git 等必要的軟件
1.3.1 Command Line Tools for Xcode
這一步會(huì)幫你安裝許多常見的基于 Unix 的工具贤姆。Xcode 命令行工具作為 Xcode 的一部分,包含了 GCC 編譯器
安裝方法(打開 Terminal 終端稳衬,輸入):
xcode-select --install
當(dāng) Xcode 和 Xcode Command Line Tools 安裝完成后庐氮,你需要啟動(dòng) Xcode,并點(diǎn)擊同意接受許可協(xié)議宋彼,然后關(guān)閉 Xcode 就可以了弄砍。這一步驟也是必須的,否則 Xcode 包含的一系列開發(fā)工具都將不可用输涕。
Working On
安裝 Mysql音婶、Php72、redis莱坎、Nginx衣式、創(chuàng)建虛擬機(jī)、配置 SSL
2.1 Mysql
安裝方法(打開 Terminal 終端檐什,輸入):
brew install mysql
MySQL的安裝包相對較大碴卧,在這個(gè)步驟需要等待一段時(shí)間,下載失敗后可多次嘗試安裝乃正,Brew每次會(huì)自動(dòng)尋找合適的下載源
設(shè)置 Mysql 開機(jī)啟動(dòng)方法(打開 Terminal 終端住册,輸入):
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
初始化、啟動(dòng)方法(打開 Terminal 終端瓮具,輸入):
#正常初始化
/usr/local/opt/mysql/bin/mysql_secure_installation
#若出錯(cuò)請啟動(dòng)服務(wù)
brew services start mysql
安全配置方法(Terminal 終端會(huì)提示[EnglishVersion]):
> Enter current password for root (enter for none):
#直接 Enter荧飞,因?yàn)闆]有設(shè)置過
> Change the root password? [Y/n]
#是否更改 root 用戶的密碼
> Remove anonymous users? [Y/n]
#不需要,鍵入 Y
> Disallow root login remotely? [Y/n]
#禁止root遠(yuǎn)程登錄名党,建議鍵入 Y
> Remove test database and access to it? [Y/n]
#刪除測試數(shù)據(jù)表叹阔,建議鍵入 Y
> Reload privilege tables now? [Y/n]
#確保設(shè)置生效,鍵入 Y
檢驗(yàn)安裝成功方法(打開 Terminal 終端传睹,輸入):
#查看端口
ps aux | grep mysql
#測試 Mysql 連接
mysql -uroot -p你設(shè)置的密碼
為了直觀耳幢,這里我以密碼:123456為例,測試Mysql連接時(shí)鍵入:
mysql -uroot -p123456
安裝 Phpmyadmin 方法(打開 Terminal 終端欧啤,輸入):
brew install phpmyadmin
2.2 Php
安裝準(zhǔn)備(打開 Terminal 終端睛藻,輸入):
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
安裝 Php72(打開 Terminal 終端,輸入):
brew install php72
配置 Php72 環(huán)境變量(打開 Terminal 終端堂油,輸入):
echo 'export PATH="$(brew --prefix php72)/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="$(brew --prefix php72)/sbin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/bin:/usr/local/sbib:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
由于Mac自帶了php和php-fpm修档,因此需要添加系統(tǒng)環(huán)境變量PATH來替代自帶PHP版本碧绞。
驗(yàn)證 Php72 配置(打開 Terminal 終端府框,輸入):
#brew安裝的php,正常會(huì)顯示 php7.2.0betaX
php -v#Mac自帶的Php,正常會(huì)顯示 php7.1.7
/usr/bin/php -v#brew安裝的php-fpm迫靖,正常會(huì)顯示 php7.2.0betaX
php-fpm -v#Mac自帶的Php-fpm院峡,正常會(huì)顯示 php7.1.7
/usr/bin/php-fpm -
修改php-fpm配置文件(打開 Terminal 終端,輸入):
vim /usr/local/etc/php/7.2/php-fpm.conf /**找到pid相關(guān)系宜,去掉pid = run/php-fpm.pid前的“;”, 那么php-fpm的pid文件就會(huì)自動(dòng)產(chǎn)生在 /usr/local/var/run/php-fpm.pid**/
php-fpm驗(yàn)證與啟動(dòng)(打開 Terminal 終端照激,輸入):
#測試php-fpm配置
php-fpm -t
php-fpm -c /usr/local/etc/php/7.2/php.ini -y /usr/local/etc/php/7.2/php-fpm.conf -t
#啟動(dòng)php-fpm
php-fpm -D
php-fpm -c /usr/local/etc/php/7.2/php.ini -y /usr/local/etc/php/7.2/php-fpm.conf -D
#關(guān)閉php-fpm
kill -INT `cat /usr/local/var/run/php-fpm.pid`
#重啟php-fpm
kill -USR2 `cat /usr/local/var/run/php-fpm.pid`
如果出現(xiàn)兩個(gè)[notice],不用管盹牧,除了他們沒有其他錯(cuò)誤的花俩垃,php-fpm 是可以正常啟動(dòng)了。如果出現(xiàn)其他錯(cuò)誤汰寓,請嘗試百度搜索口柳,或者來聯(lián)系我
php-fpm設(shè)置開機(jī)啟動(dòng)(打開 Terminal 終端,輸入):
ln -sfv /usr/local/opt/php72/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
安裝 composer(打開 Terminal 終端有滑,輸入):
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
#改為國內(nèi)源
composer config -g repo.packagist composer https://packagist.phpcomposer.com
2.3 Nginx
安裝 Nginx 方法(打開 Terminal 終端跃闹,輸入):
brew install nginx
Nginx的安裝包相對較大,在這個(gè)步驟需要等待一段時(shí)間毛好,下載失敗后可多次嘗試安裝望艺,Brew每次會(huì)自動(dòng)尋找合適的下載源
啟動(dòng) Nginx 方法(打開 Terminal 終端,輸入):
#測試nginx配置是否有語法錯(cuò)誤
nginx -t
#打開 nginx
sudo nginx
#重新加載配置|重啟|停止|退出 nginx
nginx -s reload|reopen|stop|quit
#也可以使用Mac的launchctl來啟動(dòng)|停止 nginx
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
設(shè)置 Nginx 開機(jī)啟動(dòng)方法(打開 Terminal 終端肌访,輸入):
ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
設(shè)置 Nginx 監(jiān)聽端口權(quán)限(打開 Terminal 終端找默,輸入):
sudo chown root:wheel /usr/local/Cellar/nginx/1.12.1/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.12.1/bin/nginx
配置Nginx.conf(打開 Terminal 終端,輸入):
#配置需要用到的目錄
mkdir -p /usr/local/var/logs/nginx
mkdir -p /usr/local/etc/nginx/sites-available
mkdir -p /usr/local/etc/nginx/sites-enabled
mkdir -p /usr/local/etc/nginx/conf.d
mkdir -p /usr/local/etc/nginx/ssl
sudo mkdir -p /var/www
sudo chown :staff /var/www
sudo chmod 775 /var/www
#使用 vim 編輯器編輯 nginx.conf
vim /usr/local/etc/nginx/nginx.conf
#nginx.conf 文件中此段內(nèi)容部分吼驶,輸入或修改為以下內(nèi)容
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/logs/access.log main;
sendfile on;
keepalive_timeout 65;
port_in_redirect off;
include /usr/local/etc/nginx/sites-enabled/*;
}
vim 編輯器的退出并保存:按 ECS => 按 CAPS LOCK(大寫鍵) => 按兩下 Z
配置php-fpm 配置文件(打開 Terminal 終端啡莉,輸入):
#使用 vim 編輯器編輯 php-fpm 配置
vim /usr/local/etc/nginx/conf.d/php-fpm
#寫入以下內(nèi)容
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_intercept_errors on;
include /usr/local/etc/nginx/fastcgi.conf;
}
nginx 虛擬機(jī)配置(打開 Terminal 終端,輸入):
#創(chuàng)建 info.php index.html 404.html 403.html文件到 /var/www 下面
vi /var/www/info.php
//輸入:<?php phpinfo() ?>
vi /var/www/index.html
//輸入:<html><head><meta charset="UTF-8"><title>Default Page</title></head><body><h1 align="center">Default</h1></body></html>
vi /var/www/403.html
//輸入:<html><head><meta charset="UTF-8"><title>403 Page</title></head><body><h1 align="center">Default</h1></body></html>
vi /var/www/404.html
//輸入:<html><head><meta charset="UTF-8"><title>404 Page</title></head><body><h1 align="center">Default</h1></body></html>
配置虛擬主機(jī)配置文件(打開 Terminal 終端旨剥,輸入):
#使用 vim 編輯器編輯虛擬主機(jī)配置
vim /usr/local/etc/nginx/sites-available/default
#輸入以下內(nèi)容
server {
listen 80;
server_name localhost;
root /var/www/;
access_log /usr/local/var/logs/nginx/default.access.log main;
location / {
index index.html index.htm index.php;
autoindex on;
include /usr/local/etc/nginx/conf.d/php-fpm;
}
location = /info {
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
}
error_page 404 /404.html;
error_page 403 /403.html;
}
配置SSL虛擬主機(jī)配置文件(打開 Terminal 終端咧欣,輸入):
#使用 vim 編輯器編輯SSL虛擬主機(jī)配置
vim /usr/local/etc/nginx/sites-available/default-ssl
#輸入以下內(nèi)容
server {
listen 443;
server_name localhost;
root /var/www/;
access_log /usr/local/var/logs/nginx/default-ssl.access.log main;
ssl on;
ssl_certificate ssl/localhost.crt;
ssl_certificate_key ssl/localhost.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
include /usr/local/etc/nginx/conf.d/php-fpm;
}
location = /info {
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
}
error_page 404 /404.html;
error_page 403 /403.html;
}
配置phpmyadmin虛擬主機(jī)配置文件(打開 Terminal 終端,輸入):
#使用 vim 編輯器編輯phpmyadmin虛擬主機(jī)配置
vim /usr/local/etc/nginx/sites-available/phpmyadmin
#輸入以下內(nèi)容
server {
listen 306;
server_name localhost;
root /usr/local/share/phpmyadmin;
error_log /usr/local/var/logs/nginx/phpmyadmin.error.log;
access_log /usr/local/var/logs/nginx/phpmyadmin.access.log main;
ssl on;
ssl_certificate ssl/phpmyadmin.crt;
ssl_certificate_key ssl/phpmyadmin.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm index.php;
include /usr/local/etc/nginx/conf.d/php-fpm;
}
}
這里 phpmyadmin 默認(rèn)設(shè)置為306端口轨帜,且開啟 ssl
配置 SSL(打開 Terminal 終端魄咕,輸入):
mkdir -p /usr/local/etc/nginx/ssl
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=US/ST=State/L=Town/O=Office/CN=localhost" -keyout /usr/local/etc/nginx/ssl/localhost.key -out /usr/local/etc/nginx/ssl/localhost.crt
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=US/ST=State/L=Town/O=Office/CN=phpmyadmin" -keyout /usr/local/etc/nginx/ssl/phpmyadmin.key -out /usr/local/etc/nginx/ssl/phpmyadmin.crt
創(chuàng)建虛擬主機(jī)軟連接并開啟(打開 Terminal 終端,輸入):
ln -sfv /usr/local/etc/nginx/sites-available/default /usr/local/etc/nginx/sites-enabled/default
ln -sfv /usr/local/etc/nginx/sites-available/default-ssl /usr/local/etc/nginx/sites-enabled/default-ssl
ln -sfv /usr/local/etc/nginx/sites-available/phpmyadmin /usr/local/etc/nginx/sites-enabled/phpmyadmin
重新裝載 nginx(打開 Terminal 終端蚌父,輸入):
sudo nginx -s reload
可能會(huì)要求輸入密碼
測試 nginx 開啟情況(打開瀏覽器哮兰,地址欄輸入):
http://localhost
http://localhost/info.php
http://localhost/404.html
https://localhost/index.html(SSL)
https://localhost/info.php(SSL)
https://localhost/404.html(SSL)
https://localhost:306(SSL)
2.4 Redis
安裝方法(打開 Terminal 終端,輸入):
brew install redis
人在天朝的話苟弛,極有可能出現(xiàn)安裝速度過于緩慢的情況喝滞,有時(shí)候會(huì)讓你感覺安裝處于假死的狀態(tài),不必?fù)?dān)心膏秫,耐心等待即可右遭,切不可心煩意亂的關(guān)閉終端窗口(網(wǎng)上有其他教程說可以切換 brew 的源到中科大 CDN,本人親測:中科大 CDN 雖然快很多,但是clone 下來的文件和原本源存在一定差異窘哈,更新不及時(shí)吹榴。個(gè)人建議還是耐心等待,使用原本的源)
開啟 Redis方法(打開 Terminal 終端滚婉,輸入):
redis-server
之后進(jìn)入了管理模式图筹,如果看到Ready to accept connections,說明安裝運(yùn)行成功让腹,直接關(guān)閉終端再打開即可
安裝 Php-Redis方法(打開 Terminal 終端远剩,輸入):
wget https://pecl.php.net/get/redis-3.1.3.tgz
tar -zxvf redis-3.1.3.tgz
cd redis-3.1.3
phpize
./configure
make
make install
修改 php.ini方法(打開 Terminal 終端,輸入):
#使用 vim 編輯器編輯 php.ini
vi /usr/local/etc/php/7.2/php.ini
//在文件最后加入extension=redis.so
#重啟 php-fpm
sudo killall php-fpm && sudo php-fpm -D
#查看是否安裝成功
php -m |grep redis