Mac配置环境Nginx

环境:MacOS
版本:High Sierra 10.13.5

目录:

  • 修改 Apache 端口号
  • 安装、配置 nginx
  • nginx 解析 php

修改 Apache 端口号

Mac 自带有 apache 服务,可以直接开启及配置

开启apache:  sudo apachectl start
重启apache:  sudo apachectl restart
关闭apache:  sudo apachectl stop

这里把 80 端口让给 nginx,apache 默认设置为 8080

1. 修改 httpd.conf

sudo vim /etc/apache2/httpd.conf


vim 下 /80 搜索字符,按 n 和 N 向上下选择其他项,将 Listen 后的端口号修改 8080


这里用 #注释做下备份,Esc wq 保存

2. 修改 httpd-vhosts.conf

sudo vim /etc/apache2/extra/httpd-vhosts.conf

貌似有两个地方需要修改重启 apache,localhost:8080,出现 It works! 代表修改成功:

sudo apachectl restart

没修改 hosts 的用 127.0.0.1:8080

安装、配置 nginx

使用 brew 安装 nginx

brew install nginx

修改配置文件,端口设置为 80
默认为 8080 端口

给几个权限:

sudo chown root:wheel /usr/local/Cellar/nginx/1.15.2/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.15.2/bin/nginx
sudo chown -R root:wheel /usr/local/etc/nginx/

这里的版本号要根据自己的做修改,用 brew info nginx 来查看路径

重启下 nginx

nginx -t
nginx -s reload
brew services restart nginx

浏览器 localhost,出现以下界面则代表安装成功:

如果依然是 It works,建议清理下浏览器缓存

nginx 解析 php

上一步完成,一般并不能直接访问 php 网站,localhost/index.php 会直接下载或 Nginx An error occurred,nginx 这时并不能直接解析 php。因为 Mac 系统的 php-fpm 通常开启不了。 通常 sudo php-fpm 会显示: ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory
以及:No pool defined. at least one pool section must be specified in config file

修改 php-fpm 配置:

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

修改 error_log 路径:

error_log = /usr/local/var/log/php-fpm.log

这时即可 sudo php-fpm 开启。 访问 localhost/index.php(这个文件自己写一个) 依然会出现以下问题: 1. 访问 index.php 报 403 Forbidden.

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

找到 server 的 location 配置,给 index 加一个 index.php

location / {
  root  html;
  index index.html index.htm index.php;
}

2. 访问 index.php 报 File not found. 找到 server 下被注释的 location ~.php$(删除代码前面的 ‘#')

location ~ \.php$ {
  root      html;
  fastcgi_pass  127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  include    fastcgi_params;
}

且更改

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

为:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

然后重启 nginx:

sudo nginx -s reload //重载配置文件
sudo nginx -s stop //停止nginx服务
sudo nginx //开启nginx服务

参考的帖子: Mac 下 Nginx 安装环境配置详解

Mac 自带 PHP 启动 php-fpm 问题解决

php-fpm:No pool defined 解决方法

本文链接:https://ariser.cn/index.php/archives/5/
本站文章采用 知识共享署名4.0 国际许可协议进行许可,请在转载时注明出处及本声明!