记录mac配置nginx、php的过程。(亲测通过了!)

写在前面!!!!在mac操作的时候!最好最好最好 每次在终端命令前加上

sudo

因为苹果对用户操作权限的管控十分严格!不这么做会出现很多的权限问题!
然后开始了!

1、先用brew 安装nginx
2、然后直接使用 sudo nginx 启动nginx,启动后可以在网址输入localhost:8080,然后会出现
记录mac配置nginx、php的过程。(亲测通过了!)_第1张图片

然后这还没成功!

因为静态页面.HTML 在nginx 是可以直接解析出来的。然后再配置一下php。
3、mac里面直接默认就有php了。直接输入 php -v 查看版本
4、再直接sudo php-fmp 看看启动成功没有,一般会报错。然后这个时候排查错误,一般有下面几个错误:

第一种错误

ac 自带 php-fpm,在终端执行 php-fpm,会报如下错误:

ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)
ERROR: failed to load configuration file '/private/etc/php-fpm.conf'
ERROR: FPM initialization failed
错误信息显示,不能打开配置文件,cd /private/etc,发现没有 php-fpm.conf 文件,但是有 php-fpm.conf.default 文件。这个文件是默认配置,我们可以复制一份,改名为 php-fpm.conf,然后再根据需要改动配置。

cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
执行 php-fpm,再次报错:

ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
ERROR: failed to post process the configuration
ERROR: FPM initialization failed
错误信息显示,不能打开错误日志文件。cd /usr/var/log 发现根本没有这个目录,甚至连 var 目录都没有,加上为了避免权限问题,干脆配置到 /usr/local/var/log 目录。

修改 php-fpm.conf error_log 配置为 /usr/local/var/log/php-fpm.log,并把 user 和 group 改为和当前用户一样。

执行 php-fpm,再次报错:

NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
于是 sudo php-fpm,再次报错:

ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (48)
ERROR: FPM initialization failed
编辑 php-fpm.conf,修改 listen 为 127.0.0.1:9999。
不该端口, 我这里也可以访问PHP了
执行 php-fpm -t,这个世界终于清净了!

第二种错误

[root@localhost etc]# systemctl start php-fpm.service
Starting php-fpm [28-Nov-2018 17:13:23] WARNING: Nothing matches the include pattern ‘/usr/local/php/etc/php-fpm.d/*.conf’ from /usr/local/php/etc/php-fpm.conf at line 125.
[28-Nov-2018 17:13:23] ERROR: No pool defined. at least one pool section must be specified in config file
[28-Nov-2018 17:13:23] ERROR: failed to post process the configuration
[28-Nov-2018 17:13:23] ERROR: FPM initialization failed

解决方法:

进入PHP安装目录/private/etc/php-fpm.d

cp www.conf.default www.conf

然后

仔细查看一下你的php-fpm.conf文件

;;;;;;;;;;;;;;;;;;;;
; Pool Definitions ;
;;;;;;;;;;;;;;;;;;;;

; Multiple pools of child processes may be started with different listening
; ports and different management options.  The name of the pool will be
; used in logs and stats. There is no limitation on the number of pools which
; FPM can handle. Your system will tell you anyway :)

; Include one or more files. If glob(3) exists, it is used to include a bunch of
; files from a glob(3) pattern. This directive can be used everywhere in the
; file.
; Relative path can also be used. They will be prefixed by:
;  - the global prefix if it's been set (-p argument)
;  - /app/php/7.2.7 otherwise
include=/private/etc/php-fmp.d/www.conf
注意上面最后一行,将刚刚我们复制出来的文件的路径填上

最后 再重新
sudo php-fpm

然后执行成功后

这里是配置nginx的域名,尝试一下。
server {
        listen       80;
        server_name  sms1.com;
        index index.html index.htm index.php;
        root /usr/local/etc/nginx/www;
        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
               try_files $uri = 404;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
                expires 30d;
        }
        location ~ .*\.(js|css)?$
        {
                expires 1h;
        }

        ###this is to use open website lianjie like on apache##
        location / {
                if (!-e $request_filename) {
                        rewrite ^(.*)$ /index.php?s=$1 last;
                        break;
                }
        }
        ###end##
        #access_log  /var/log/nginx/access/tp5.log;


}

再配置一下 hosts 文件

127.0.0.1	sms1.com

再重启nginx就行了。

sudo nginx -s stop;
sudo nginx

分割线

分享个vue学习的教程

本人亲自维护的接口

非常适合vue零基础或者刚入门vue的小白学习。

资源包括源码、视频、接口文档,从入门到实战项目

如果你想学习vue,这里有个项目线上尝鲜地址:http://129.226.76.172:5325


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

你可能感兴趣的:(php,IT学习,nginx)