也有一段时间没写博客了,说好的技术博主呢,hhhhh。其实一些小错误感觉没什么好写的。但是配置环境的坑我踩了好久了。趁这次重装了Mac,刚好记录记录配置Nginx,虽然前面写过一篇配置,但是Mac上还是有比较多的坑的。也不知道啥时候Mac才自带Nginx呀。个人喜欢Homebrew,没用Macport,所以下文都是采用的Homebrew。
0x1 Nginx安装
通过Homebrew安装
1 | $ brew search nginx |
然后通过
1 | $ brew info nginx |
你可以看到关于nginx的各种信息
1 | Docroot is: /usr/local/var/www |
通过
1 | $ nginx |
即可启动nginx,访问localhost:8080便可看到Nginx欢迎界面
0x2 PHP
采用了系统的php
1 | $ php -v |
想用php7也可以通过brew进行安装使用
0x3 php-fpm
按照上面流程走的话,如果在Nginx网站目录下创建一个index.php,内容为phpinfo,会发现访问index.php会出现直接下载,那便是因为还没有启动php-fpm以及配置nginx.conf的原因。
Mac自带php-fpm,但是这里还是有比较多坑的。
参考来自: Mac 配置 php-fpm
直接运行php-fpm
启动php-fpm
1 | $ php-fpm |
错误信息显示,不能打开配置文件,cd /private/etc
,发现没有 php-fpm.conf
文件,但是有php-fpm.conf.default
文件。这个文件是默认配置,我们可以复制一份,改名为php-fpm.conf
,然后再根据需要改动配置。
1 | $ sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf |
再执行php-fpm
1 | $ php-fpm |
错误信息显示,不能打开错误日志文件。cd /usr/var/log
发现根本没有这个目录,甚至连var
目录都没有,加上为了避免权限问题,干脆配置到 /usr/local/var/log
目录。
修改php-fpm.conf
中error_log
配置为 /usr/local/var/log/php-fpm.log
,并把 user 和 group 改为和当前用户一样。
1 | ; Error log file |
怎么查看当前用户以及所属组呢?参考链接
1 | $ who //查看当前登陆的用户 |
执行 php-fpm,再次报错:
1 | $ php-fpm |
于是用sudo php-fpm
,再次报错:
1 | $ sudo php-fpm |
编辑php-fpm.conf
,修改listen
为127.0.0.1:9999
。
具体也可以参考Mac如何查看端口占用
其实后来通过检查端口,发现当时占用的也是php-fpm,也有点疑惑。
可以用过sudo pkill php-fpm
关闭php-fpm
1 | $ sudo pkill php-fpm |
最后
1 | php-fpm -t |
0x4 配置Nginx.conf
nginx.conf的配置还是相当重要的,毕竟是nginx的配置文件
网上也挺多参考链接
首先,找到server
的location
配置,给index
加一个index.php
1 | location / { |
然后配置端口,我改成了80端口,但是每次启动都需要sudo
1 | server { |
接着去掉php相关的注释,并修改 fastcgi_param 参数
1 | - fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; |
所以完整php配置为
1 | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 |
重启Nginx
1 | $ sudo nginx -s reload |
0x5 BrBrBr
好啦,可以开心地进行开发啦!
Comments