mac nginx php环境,Mac搭建Nginx+PHP环境

前言本人前几天已经发布一篇Mac搭建MAMP环境的文章,如有需要请移步2018-09-29文章,这篇仅记录暂停Apache服务以及配置Nginx以及php-fpm中遇到的坑。

what-is-nginx.png

Nginx安装起来

要安装Nginx首先向各位介绍一下Mac中的管理软件,homebrew,wget啦,nginx啦,openssl啦,ffmpeg啦,都是靠它装机并管理的,首先没有homebrew的安装一下homebrew1/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

骚候30秒

然后等待下载安装

安装成功了,我们可以使用brew来安装nginx了1brew install nginx

OK,nginx服务监听在8080端口,进入浏览器输入 localhost:8080 如图即安装成功:

nginx.jpg/usr/local/etc/nginx/nginx.conf (配置文档目录)

/usr/local/Cellar/nginx/1.12.1(核心安装目录,启动文档在该目录的bin下面,欢迎页在html下面)

/usr/local/var/www(服务器默认路径)

好,暂且先把Nginx放一边,要使用Nginx解析PHP语言,需要一个php-fpm,而我们的Mac自带了PHP&php-fpm,我们来看一下

搞定php-fpm

首先试着开启php-fpm1

2

3

4[25-Oct-2018 22:21:52] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)

[25-Oct-2018 22:21:52] ERROR: failed to load configuration file '/private/etc/php-fpm.conf'

[25-Oct-2018 22:21:52] ERROR: FPM initialization failed

果然没有那么顺利,看一下报错内容告诉我了我们位于/private/etc/php-fpm.conf文档打开失败,我这一瞅,这个位置也没有php-fpm的配置文档,不过还好,它提供给我们一个模板文档,也就是php-fpm.conf.default,复制出来一份命名为php-fpm.conf1[email protected]:~$sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

来,我们再来一次,1

2

3

4[25-Oct-2018 22:27:11] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)

[25-Oct-2018 22:27:11] ERROR: failed to post process the configuration

[25-Oct-2018 22:27:11] ERROR: FPM initialization failed

NICE!继续分析,这个报错告诉我们没打开/usr/var/log/php-fpm.log文档,我又一瞅,没有这个目录啊!!!那进入配置文档改个位置吧。1

2

3

4

5

6

7

8[email protected]:~$sudo vim /etc/php-fpm.conf

; Error log file

20 ; If it's set to "syslog", log is sent to syslogd instead of being written

21 ; into a local file.

22 ; Note: the default prefix is /usr/local

23 ; Default Value: log/php-fpm.log

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

注意:

这是一个大坑,我经历了一个上午,都在排查错误,结果只是没有去掉error_log前面的分号!!!切记切记,这TM也是个注释呢还!!!

keng.jpg

保存好,重新再启动一次~

Oh~

多么地激动人心!

对了,我们还没有动Nginx的配置文档,php-fpm解决了,该Nginx了。1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22server {

listen 80;

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

root html;

index index.html index.htm index.php;

}

location ~ .php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

fastcgi_intercept_errors on;

}

这里注意fastcgi_param,之前使用SCRIPT_FILENAME /scripts$fastcgi_script_name;打开网页显示File not found. 改成SCRIPT_FILENAME $document_root$fastcgi_script_name;就好了。另外php-fpm运行的用户与nginx不一致,也会产生错误,我们需要修改下nginx.conf的user配置user root;

同时也需要将php-fpm的运行用户改成root:

配置修改后,重启服务,问题就解决了~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值