mac搭建环境

macOS下配置nginx和php

先停掉Apache

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

看一下80端口是否还有占用的

sudo lsof -i:80

没有了就可以操作后面的了。

安装Home Brew

安装php7.4

将/usr/local/Cellar/php/7.4.7/bin/php软连接到/usr/local/bin/php

重新启到终端,输入php -v看一下是不是7.4版本了

安装Nginx

  1. 手动删除旧版本

/usr/local/Cellar/nginx目录、/usr/local/etc/nginx/、/usr/local/var/www目录

  1. 终端执行安装nginx

brew install nginx
  1. 安装完成后操作如下命令

启动nginx


sudo nginx

访问nginx网站


http://localhost:8080/

查看nginx日志


/usr/local/var/log/nginx/error.log

/usr/local/var/log/nginx/access.log

停止nginx服务


sudo nginx -s stop

重启nginx服务


sudo nginx -s reload
  1. 修改nginx配置

macos需要使用root owner,否则改了路径后会提示 is forbidden (13: Permission denied)

user root owner;


/usr/local/etc/nginx/nginx.conf

更改默认根目录,增加index.php的支持


location / {

root 自己的本地路径;

index index.html index.htm index.php

}

取消localtion ~ .php$ { }的注释

将root更改为自己本地的路径

将fastcgi_param SCRIPT_FILENAME 的值改为 $document_root$fastcgi_script_name;

配置上传文件大小,在http节中增加


client_max_body_size 100m;
  1. 运行php修改php-fpm文件

复制默认的默认配置为当前配置


sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

sudo cp /private/etc/php-fpm.d/www.conf.default /private/etc/php-fpm.d/www.conf

设置php-fpm的日志文件,否则启动php-fpm时会报错,打开/private/etc/php-fpm.conf


error_log = 你的日志文件目录/php-fpm.log

macos设置php-fpm运行权限,否则会报Primary script unknown

打开/private/etc/php-fpm.d/www.conf文件


user = 当前用户名

group = staff

php上传文件大小设置

在/usr/local/etc/php/7.4/php.ini中找到upload_max_filesize改成200M

upload_max_filesize = 200M

composer中memory_limit限制

有时composer命令会提示memory_limit太小,这时需要在php.ini的memory_limit值进行更改,我建议更改为4096M

如果改了没反应的话,需要检查一下/usr/local/etc/php/7.4/conf.d/php-memory-limits.ini是不是存在这个文件,如果存在的话,需要将这个也改一下

配置完成后执行


sudo php-fpm

重启php-fpm


sudo killall php-fpm

在根目录下创建index.php


<?php

phpinfo();

?>

访问localhost:8080/index.php

日常操作

启动nginx

sudo nginx

sudo php-fpm

停止nginx

sudo nginx -s stop

sudo killall php-fpm

创建多站点

创建多站点的配置文件夹

修改nginx配置


/usr/local/etc/nginx/nginx.conf

增加一个新的server


server {

listen 80;

server_name ocr.local.com;

root /Users/pengxu/Work/Code/php/ocr.local.com;

location / {

root /Users/pengxu/Work/Code/php/ocr.local.com;

index index.html index.htm index.php;

}

location ~ \.php$ {

root /Users/pengxu/Work/Code/php/ocr.local.com;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}
本作品采用《CC 协议》,转载必须注明作者和本文链接
手写十万行代码
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 9
4个月前 评论
wade (楼主) 4个月前
kis龍 (作者) 4个月前
wade (楼主) 4个月前
kis龍 (作者) 4个月前

docker + sail 真的够了

4个月前 评论
wade (楼主) 4个月前

昨晚刚好搭好了 :joy:

4个月前 评论
wade (楼主) 4个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!