一些关于在最新 Macos 下搭建LNMP开发环境的流程建议,直接进入正题:php
Preparing
安装 Homebrew、Ohmyzsh、开发经常使用包&软件html
1.1 Homebrewnode
Homebrew又叫Brew,是MacOS上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,和linux系统中的yum很是类似,只须要一个命令,很是方便。官方网站:http://brew.shmysql
安装方法(打开 Terminal 终端,输入):linux
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
检验安装成功方法(打开 Terminal 终端,输入):nginx
brew doctor
安装经常使用软件包(打开 Terminal 终端,输入):git
brew install wget brew install autoconf brew install openssl
Brew 经常使用语句(打开 Terminal 终端,输入):github
#我这里以操做 php70 为例 brew update #更新brew可安装包,建议每次执行一下 brew search php70 #搜索php7.0 brew tap josegonzalez/php #安装扩展<gihhub_user/repo> 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 下来的文件和本来源存在必定差别,更新不及时。我的建议仍是耐心等待,使用本来的源)redis
1.2 Oh my zshsql
目前经常使用的 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、Php7二、redis、Nginx、建立虚拟机、配置 SSL
2.1 Mysql
安装方法(打开 Terminal 终端,输入):
brew install mysql
MySQL的安装包相对较大,在这个步骤须要等待一段时间,下载失败后可屡次尝试安装,Brew每次会自动寻找合适的下载源
设置 Mysql 开机启动方法(打开 Terminal 终端,输入):
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
初始化、启动方法(打开 Terminal 终端,输入):
#正常初始化 /usr/local/opt/mysql/bin/mysql_secure_installation #若出错请启动服务 brew services start mysql
安全配置方法(Terminal 终端会提示[EnglishVersion]):
> Enter current password for root (enter for none): #直接 Enter,由于没有设置过 > Change the root password? [Y/n] #是否更改 root 用户的密码 > Remove anonymous users? [Y/n] #不须要,键入 Y > Disallow root login remotely? [Y/n] #禁止root远程登陆,建议键入 Y > Remove test database and access to it? [Y/n] #删除测试数据表,建议键入 Y > Reload privilege tables now? [Y/n] #确保设置生效,键入 Y
检验安装成功方法(打开 Terminal 终端,输入):
#查看端口 ps aux | grep mysql #测试 Mysql 链接 mysql -uroot -p你设置的密码 为了直观,这里我以密码:123456为例,测试Mysql链接时键入: mysql -uroot -p123456
安装 Phpmyadmin 方法(打开 Terminal 终端,输入):
brew install phpmyadmin
2.2 Php
安装准备(打开 Terminal 终端,输入):
brew tap homebrew/dupes brew tap homebrew/versions brew tap homebrew/homebrew-php
安装 Php72(打开 Terminal 终端,输入):
brew install php72
配置 Php72 环境变量(打开 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,所以须要添加系统环境变量PATH来替代自带PHP版本。
验证 Php72 配置(打开 Terminal 终端,输入):
#brew安装的php,正常会显示 php7.2.0betaX php -v#Mac自带的Php,正常会显示 php7.1.7 /usr/bin/php -v#brew安装的php-fpm,正常会显示 php7.2.0betaX php-fpm -v#Mac自带的Php-fpm,正常会显示 php7.1.7 /usr/bin/php-fpm -
修改php-fpm配置文件(打开 Terminal 终端,输入):
vim /usr/local/etc/php/7.2/php-fpm.conf /**找到pid相关,去掉pid = run/php-fpm.pid前的“;”, 那么php-fpm的pid文件就会自动产生在 /usr/local/var/run/php-fpm.pid**/
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 //输入:<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>
配置虚拟主机配置文件(打开 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