mac php7 nginx mysql_Mac nginx PHP7 MySQL5.7 环境搭建

在安装之前,有必要解释下apache和nginx解析PHP的原理。以前,我一直使用的是apache做web服务器,配置过apache的都应该知道,php是挂在apache下的一个模块,当http请求一个php'文件的话,apache会调用php模块进行解析,然后返回html给apache`。

而nginx又点不一样,它必须通过一个FastCGI的进程管理器来启动php解析,也就是是php-fpm,当nginx接受的php请求时,它会向它监听的fpm发送一个请求,当fpm接受到请求以后,在创建一个子进程来调用php进行解析。当解析完成后,回收线程,返回html给nginx,这里也引出了一个问题,那就是php鸡肋一般的单例,由于php的生命周期是伴随着一个请求的开始和结束,当这个请求完毕后,该线程就会自动回收了,所以php的静态对象,只能存在于一个请求当中,不想Java等其他语言,静态变量会一直存在。

下面是安装步骤 (提前安装好homebrew)

1、卸载mac自带的 apache和php,有用集成环境,建议也删掉。

先停掉apache

sudo apachectl stop

然后统统删除掉

sudo rm /usr/sbin/httpd

sudo rm -rf /etc/apache2/

2、安装 Nginx

brew install nginx

安装完后先别急着修改配置文件

先设置权限

sudo chown root:wheel /usr/local/opt/nginx/bin/nginx

sudo chmod u+s /usr/local/opt/nginx/bin/nginx

如果想开机启动的话

mkdir -p ~/Library/LaunchAgents

cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/

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

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist(取消开机启动)

nginx命令

sudo nginx #打开nginx

nginx -s reload | reopen | stop | quit #得新加载配置|重启|停止|退出

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

#如果提示pid丢失的话,就用这句话

nginx -c /usr/local/etc/nginx/nginx.conf

好了 nginx安装完毕,大家可以localhost:8080一下,就可以看到nginx的信息了

3、安装MySQL

brew install mysql

加入开机启动

cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/

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

lauchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist(取消开机启动)

初始化mysql

cd /usr/loacl/Cellar/mysql5.7.11/bin

mysql_install_db

设置root账户和密码

./mysq_secure_installation #一直跟着提示走就行。

4、安装php7

brew install php70 --without-apache --with-fpm

因为我们用nginx,所有 --without-apache,并且加上 --with-fpm来编译php

安装完成后,加入全局变量

vim ~/.bash_profile 添加 export PATH=/usr/local/bin:/usr/sbin:$PATH

然后

vim ~/.bashrc 添加 export PATH = "$(brew --prefix homebrew/php/php70)/bin:$PATH"

最后

sourc ~/.bash_profile source ~/.bashrc

然后加入开机自启

mkdir -p ~/Library/LaunchAgents

cp /usr/local/opt/php70/homebrew.mxcl.php70.plist ~/Library/LaunchAgents/

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

6、安装php扩展包

其实很简单,比如你想安装php7的xdebug扩展,就brew install php70-xdebug,想安装mcrypt就brew install php70-mcrypt是不是so easy,另外你可以brew search php70可以看到所有php70的扩展库。

7、配置nginx和php-fpm

nginx 配置 很简单,nginx的配置文件在 /usr/local/etc/nginx/文件中 vim nginx.conf

然后 根据 自己的需求去配置就行,这里就不用详细说了

php-fpm的配置: 先cd到 /usr/local/etc/php,你可以看到7.0这个文件夹,这没什么配置的,就是把nginx和fpm的端口统一就行

8、最后关键

每次修改了php.ini文件。都要重启php-fpm, 就像启动apache一样,不过这会不用重启nginx

重启步骤

sudo killall php-fpm #先停掉所有php-fpm的进程

cd /usr/local/Cellar/php/7.0/sbin

sbin目录会有php70-fpm

sudo ./php70-fpm start #启动php-fpm

结束语

好了,大概就是这么个步骤,可能大家的实际安装配置过程有所不同,但大体思路就是这样。遇到问题,不要灰心,当你解决了这个问题的时候对你自身是一次提高,每解决完一个bug后的成就是不是满满的^_^!

本作品采用《CC 协议》,转载必须注明作者和本文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值