MAC中mnmp(mac+nginx+msql+php)开发环境的配置搭建

本人最近告别了多年的windows+deepin+ubuntu组合的开发环境,开始加入mac系统开发大军中。因为本人目前经常搞小程序相关的全栈工作,后端方面,不管是配置基本开发环境还是使用docker镜像,都已经习惯并且已经无法离开终端的灵性操作,而windows的终端真的是一言难尽。在前端方面,最直接影响就是不管是微信开发者工具还是支付宝等其他小程序开发工具,都不支持任何linux系统,所以综合这两方面,我就义无反顾的花了多年积蓄,下狠心买了mbp。闲话少说,开始正文。

对于后台语言是php的开发者,最首要的问题就是搭建nginx(apache2)+php(php-fpm)+mysql的开发环境,本文将以mac系统为例来讲解相应的安装配置步骤。

预准备

首先我们需要下载Homebrew,Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew相当于Linux下的apt-get、yum。在我的上一篇文章中,已经详细讲解了homebrew的相关安装方法:homebrew安装方法

在这里需要学会使用brew的三个命令即可:

  • 搜索软件:brew search 软件名,如 brew search wget
  • 安装软件:brew install 软件名,如 brew install wget
  • 卸载软件:brew uninstall 软件名,如 brew uninstall wget

安装并配置nginx(重点是php-fpm的服务器配置)

1.打开终端,输入命令:brew install nginx (一般情况下,brew命令的任何操作都不需要进行sudu)。
一般不需要查询nginx的版本,直接安装最新版就可以。安装成功后,可访问127.0.0.1来验证服务器是否安装成功。
2.安装成功后,打开nginx的配置文件,配置文件位置为:/usr/local/etc/nginx/nginx.conf,进行php-fpm模块的配置,配置修改如下所示:

location ~ \.php$ {
            root           html;#php文件存放路径,默认是nginx存放文件的路径
            fastcgi_pass   127.0.0.1:9000;#linux系统都用unix socks进行模块间的通信,mac系统用9000端口进行通信
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
 }

随后保存退出。并进行nginx配置文件的重新加载:nginx -s reload。而后又即可成功访问文件路径下的php文件。
附加知识,nginx服务器操作的常用命令:

#启动 nginx
sudo nginx
#   重新加载配置 | 重启 | 停止 |退出
nginx -s reload|reopen|stop|quit (注意:在进行这几项操纵的时候,都要以sudo权限,并且都要带上-s参数才可以)
#测试配置是否有语法错误
nginx -t

php(php-fpm)的安装

因为本人本阶段经常使用laraval5.8的缘故,因为框架要求,所以就选择的php7.3为例。首先要明白,mac系统是预装了php的,但是预装的php版本并不一定是我们所想要的。所以我们要另起炉灶来做饭。
首先,查看brew中php的版本,输入命令:brew search php,输出结果如下:
在这里插入图片描述
选择好自己需要的版本之后,进行安装:brew install [email protected]

注意:经实践检验,mac中安装完php之后,php-fpm就直接被携带安装,还有一些其他的php扩展,这点和linux系统中不同,后者需要单独安装php-fpm。

安装之后,输入:php -v,查看当前系统的php版本,你可能会发现,当前系统的php版本并不是你刚才安装的,而是系统自带的版本,该怎么办呢?当然是调整版本了,分两步步就可以走通:
1.输入:brew link --force [email protected] 切换到目标版本。
2.将目标版本的安装路径加入到环境变量文件中,重启终端即可。增加内容如下(根据使用的终端,在~文文件夹下寻找相应的环境变量配置文件,我的是.zshrc):

export PATH="/usr/local/opt/[email protected]/bin:$PATH"
export PATH="/usr/local/opt/[email protected]/sbin:$PATH"
source .zshrc

在环境变量文件中添加完环境变量之后,php命令就会直接在该文件中的环境变量中寻找对应的文件。从而覆盖了系统原装的php版本

注意:在mac中通过brew安装的软件,一般的启动程序都在文件夹/usr/local/opt/软件名称/bin下,所以这些软件一般的环境变量配置都会用到:export PATH="/usr/local/opt/[email protected]/bin:$PATH"

注意:在mac中,在php和php-fpm安装成功之后,我们需要启动php-fpm服务来解析php脚本,与linux不同的是,在启动时候,不要制定php-fpm的版本号,系统可以直接找到目前系统php对应的fpm进行启动,命令为:sudo php-fpm,关闭php-fpm命令为:sudo killall php-fpm。重启暂时没有一步式命令,只有先关闭,再启动。

php扩展的安装

Mac HomeBrew [2018-03-31]起弃用homebrew/php,php版本改名(如:php70 => [email protected]),无法像以前直接搜索各个版本对应扩展直接安装如:brew install php70-redis,可采用pecl安装php对应扩展。
什么是pecl?它是干什么用的?当然要知彼知己了,请看下面的学习链接:什么是pecl?
下面以php-xdebug扩展为例来进行php扩展的安装。
输入命令:pecl install xdebug

请注意,在安装过程中,会提示你是否需要support,按照默认no。直接回车即可。安装完成之后,扩展文件已经自动写入php.ini中,直接重启php-fpm即可,扩展就挂载上去了
参考链接:pecl安装php扩展

出血注意:pecl官方镜像在国内下载时,估计能给你慢的崩溃,超时之后,下载的扩展压缩包文件并不完成,可能会导致后续tar解压操作报错,最后翻了之后,在进行安装。

输出结果如图:
在这里插入图片描述

注意:需按照终端安装结果提示的扩展编译文件,在php配置文件中将扩展配置信息加入其中,并重启nginx及php-fpm
mac中php配置文件的位置为:/private/etc/php.ini/default,mac中没有php.ini,但是有他的模版文件php.ini.default,可以复制一份文件内容至新建的php.ini文件中即可。

mysql的安装

同理,我们要先试用命令brew search mysql来查询所有可用的mysql版本,来进行合适的选择安装。如图:
在这里插入图片描述
然后选择版本[email protected]进行安装,命令为:brew install [email protected]
安装成功后,要先启动mysql服务

mysql.server start #启动mysql服务
mysql.server stop #关闭mysql服务

注意:mac中使用brew初次安装成功之后,默认root用户是没有密码的,可以使用下面命令进行密码的设置:

sudo mysqladmin -u root password "your password"

修改完数据库密码之后记得重启mysql服务。

结语

到目前为止,所有的环境配置已经搭建完毕。如果有什么疑问,可以给我邮件或者下面评论,我们一起讨论。
在本地配置完开发环境后,很高兴。但是。。。当我们换了个电脑的时候,或者去测试服务器以及线上服务器部署的时候,又要来一次搭建环境,哭了,哈哈。所以,如果能把我们平常根据自己业务分析最需要的开发环境制作成一个类似于“光碟”的东西能够“即插即用“时,那该是多么方便啊,很幸运的是,我们现在可以使用docker技术来达到这个目标,具体怎么实现呢,请看下一篇文章。多谢大家。

猜你喜欢

转载自blog.csdn.net/caozhennan824/article/details/105607671