在macOS上搭建lnmp环境

在macOS上搭建lnmp环境

之前重装了系统,之前本地开发用的是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_paramSCRIPT_FILENAME 你的网站根目录/$fastcgi_script_name;最后,重启Nginx即可。至于mysql,你也可以通过brew来安装,或者通过官网的dmg文件来安装。两种安装方式都比较简单,再此略过不提。

正在加载评论区