天天看点

mac high sierra php7,在MacOS High Sierra下完整搭建MNMP开发环境DefaultDefaultDefault

1.1 Homebrew

Homebrew又叫Brew,是MacOS上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,和linux系统中的yum非常相似,只需要一个命令,非常方便。官方网站:http://brew.sh

安装方法(打开 Terminal 终端,输入):

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

检验安装成功方法(打开 Terminal 终端,输入):

brew doctor

安装常用软件包(打开 Terminal 终端,输入):

brew install wget

brew install autoconf

brew install openssl

Brew 常用语句(打开 Terminal 终端,输入):

#我这里以操作 php70 为例

brew update #更新brew可安装包,建议每次执行一下

brew search php70 #搜索php7.0

brew tap josegonzalez/php #安装扩展

brew tap #查看安装的扩展列表

brew install php70 #安装php7.0

brew remove php70 #卸载php7.0

brew upgrade php70 #升级php7.0

brew options php70 #查看php7.0安装选项

brew info php70 #查看php7.0相关信息

brew home php70 #访问php7.0官方网站

人在天朝的话,极有可能出现安装速度过于缓慢的情况,有时候会让你感觉安装处于假死的状态,不必担心,耐心等待即可,切不可心烦意乱的关闭终端窗口(网上有其他教程说可以切换 brew 的源到中科大 CDN,本人亲测:中科大 CDN 虽然快很多,但是clone 下来的文件和原本源存在一定差异,更新不及时。个人建议还是耐心等待,使用原本的源)

1.2 Oh my zsh

目前常用的 Linux 系统和 Mac OS 系统的默认 Shell 都是 bash,但是真正强大的 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)"

人在天朝的话,极有可能出现安装速度过于缓慢的情况,有时候会让你感觉安装处于假死的状态,不必担心,耐心等待即可,切不可心烦意乱的关闭终端窗口(网上有其他教程说可以切换 brew 的源到中科大 CDN,本人亲测:中科大 CDN 虽然快很多,但是clone 下来的文件和原本源存在一定差异,更新不及时。个人建议还是耐心等待,使用原本的源)

1.3 Xcode

Xcode 是苹果出品的包含一系列工具及库的开发套件。

通过 AppStore 安装最新版本的 Xcode

我们一般不会用 Xcode 来开发后端项目。但这一步也是必须的,因为 Xcode 会附带安装一些如 Git 等必要的软件

1.3.1 Command Line Tools for Xcode

这一步会帮你安装许多常见的基于 Unix 的工具。Xcode 命令行工具作为 Xcode 的一部分,包含了 GCC 编译器

安装方法(打开 Terminal 终端,输入):

xcode-select --install

当 Xcode 和 Xcode Command Line Tools 安装完成后,你需要启动 Xcode,并点击同意接受许可协议,然后关闭 Xcode 就可以了。这一步骤也是必须的,否则 Xcode 包含的一系列开发工具都将不可用。

Working On

安装 Mysql、Php72、redis、Nginx、创建虚拟机、配置 SSL

2.1 Mysql

安装方法(打开 Terminal 终端,输入):

brew install mysql

MySQL的安装包相对较大,在这个步骤需要等待一段时间,下载失败后可多次尝试安装,Brew每次会自动寻找合适的下载源

设置 Mysql 开机启动方法(打开 Terminal 终端,输入):

ln -sfv /usr/local/opt/mysql

php-fpm验证与启动(打开 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

#启动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

#关闭php-fpm

kill -INT `cat /usr/local/var/run/php-fpm.pid`

#重启php-fpm

kill -USR2 `cat /usr/local/var/run/php-fpm.pid`

如果出现两个[notice],不用管,除了他们没有其他错误的花,php-fpm 是可以正常启动了。如果出现其他错误,请尝试百度搜索,或者来联系我

php-fpm设置开机启动(打开 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

#改为国内源

composer config -g repo.packagist composer https://packagist.phpcomposer.com

2.3 Nginx

安装 Nginx 方法(打开 Terminal 终端,输入):

brew install nginx

Nginx的安装包相对较大,在这个步骤需要等待一段时间,下载失败后可多次尝试安装,Brew每次会自动寻找合适的下载源

启动 Nginx 方法(打开 Terminal 终端,输入):

#测试nginx配置是否有语法错误

nginx -t

#打开 nginx

sudo nginx

#重新加载配置|重启|停止|退出 nginx

nginx -s reload|reopen|stop|quit

#也可以使用Mac的launchctl来启动|停止 nginx

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

设置 Nginx 开机启动方法(打开 Terminal 终端,输入):

ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

设置 Nginx 监听端口权限(打开 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 文件中此段内容部分,输入或修改为以下内容

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

#写入以下内容

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 虚拟机配置(打开 Terminal 终端,输入):

#创建 info.php index.html 404.html 403.html文件到 /var/www 下面

vi /var/www/info.php

//输入:<?php phpinfo() ?>

vi /var/www/index.html

//输入:

Default Page

Default

vi /var/www/403.html

//输入:

403 Page

Default

vi /var/www/404.html

//输入:

404 Page

Default

配置虚拟主机配置文件(打开 Terminal 终端,输入):

#使用 vim 编辑器编辑虚拟主机配置

vim /usr/local/etc/nginx/sites-available/default

#输入以下内容

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虚拟主机配置文件(打开 Terminal 终端,输入):

#使用 vim 编辑器编辑SSL虚拟主机配置

vim /usr/local/etc/nginx/sites-available/default-ssl

#输入以下内容

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虚拟主机配置文件(打开 Terminal 终端,输入):

#使用 vim 编辑器编辑phpmyadmin虚拟主机配置

vim /usr/local/etc/nginx/sites-available/phpmyadmin

#输入以下内容

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 默认设置为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

创建虚拟主机软连接并开启(打开 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

可能会要求输入密码

测试 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

人在天朝的话,极有可能出现安装速度过于缓慢的情况,有时候会让你感觉安装处于假死的状态,不必担心,耐心等待即可,切不可心烦意乱的关闭终端窗口(网上有其他教程说可以切换 brew 的源到中科大 CDN,本人亲测:中科大 CDN 虽然快很多,但是clone 下来的文件和原本源存在一定差异,更新不及时。个人建议还是耐心等待,使用原本的源)

开启 Redis方法(打开 Terminal 终端,输入):

redis-server

之后进入了管理模式,如果看到Ready to accept connections,说明安装运行成功,直接关闭终端再打开即可

安装 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