在macOS上搭建lnmp环境

晴和君 · 2018年12月12日 · 692次阅读 · 预计需要4分钟

之前重装了系统,之前本地开发用的是 Xampp,虽然使用起来也确实挺方便的,但是各种权限之类的问题也让人也很头疼,尤其是安装一些 php 扩展的时候。因此,这次想要尝试一下直接安装 php,nginx 等,搭建一个 lnmp 环境。本来想用下 docker,但是没有时间折腾,最近实在太忙啦。所以还是稳妥的本地搭建吧。

后来在网上一查,发现很早以前 macOS 就已经内建了 PHP 了。我到今天才知道。。。一看版本号 7.1.19, 足够我使用了,就不用 brew 再重新安装一个了。

另外,macOS 中 Apache 也是有自带的,如果你想用 LAMP 的话,就基本啥都不用额外安装了,而且貌似用 LAMP 的话,PHP 与 Nginx 相关的坑会少很多。

安装 HomeBrew

首先安装 brew,这个就不用多说了。如果没有安装的话,通过

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
来安装。

配置 PHP

然后我们先来配置一下系统自带的 php 吧。首先输入 php-fpm,然后它会告诉你出错了,因为没有 php-fpm.conf 这个文件。所以我们需要复制一份。先 cd 到/private/etc/目录,然后输入

cp php-fpm.conf.default php-fpm.conf

然后用 vim 修改一下第 24 行,将前面的注释分号去掉,然后改成一个用户有权限的目录

error_log = /Users/xuan/WWW/php-fpm.log

然后保存。接下来需要进入/private/etc/php-fpm.d/目录,弄一份 www.conf 出来。

cp www.conf.default www.conf

这个 www.conf 中你可以修改监听端口,默认就是 9000。

接下来,使用 root 权限开启 php-fpm 即可,值得一提的关闭 php-fpm 的方法,你可以使用 pkill php-fpm,也可以通过

ps aux|grep php-fpm

找到最小的进程关掉。

安装和配置 Nginx

brew install nginx

默认使用的是 8080 端口,但是我还是想用 80 端口,那么需要一些准备。在开启 8080 端口的时候是不需要管理员权限的,但是 80 端口要。为了监听 1024 一下端口,需要修改一下所有者:

sudo chown root:wheel /usr/local/Cellar/nginx/1.10.2_1/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.10.2_1/bin/nginx
# 启动 nginx
sudo nginx
# 重新加载配置|重启|停止|退出 nginx
nginx -s reload|reopen|stop|quit

接下来我们可以配置一下 nginx,主要是为了将 php 的部分交给 php-fpm 处理。

sudo vim /usr/local/etc/nginx/nginx.conf

将 listen 改成 80 来修改端口;添加 root /Users/用户名/文件夹 来设定网站根目录;将 pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 这一段内容的前面的注释去掉,然后改下 root 为你的网站根目录,同时修改 fastcgi_param 为 SCRIPT_FILENAME 你的网站根目录/$fastcgi_script_name;最后,重启 Nginx 即可。

至于 mysql,你也可以通过 brew 来安装,或者通过官网的 dmg 文件来安装。两种安装方式都比较简单,再此略过不提。

3分
  • 安装HomeBrew
  • 配置PHP
  • 安装和配置Nginx