记录一次nginx php-fpm环境搭建

为了测试bug,好久不搭环境的我又一次走上不归路,在此记录。

我用的parallel desktop上的centos7

装系统还是很好装的,先添加源

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

1.安装php7.2

//安装php
yum install php72w
yum install -y php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
systemctl start php-fpm //开启php-fpm
service php-fpm status //查看php-fpm是否启动

这回主要是为了php-fpm

php-fpm中有一些配置项,等我们装好了nginx一起处理他。

2.安装nginx

//安装nginx
yum install nginx

nginx配置项在/etc/nginx/conf.d/下面有个default.conf,修改前记得备份。

server{
    listen      80;
    server_name localhost;
    index index.php index.html index.htm;
    root  /usr/share/nginx/html; #项目路径

        location / {
               index  index.php index.html index.htm;
               try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
               root         /usr/share/nginx/html ;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }
}
sudo systemctl restart nginx

这里可能报一些错误。

403 forbidden我参考https://blog.csdn.net/onlysunnyboy/article/details/75270533

一般是你配置的问价权限不够,虚拟机注意第四条

500左右的错误

一般因为php-fpm没有启动

File not found

错误原因是是php-fpm进程找不到SCRIPT_FILENAME配置的要执行的.php文件,php-fpm返回给nginx的默认404错误提示。//安装nginx。

3.配置php-fpm

启用php-fpm状态, 对PHP-FPM进行监控

配置文件/etc/php-fpm.d/www.conf

pm.status_path = /status

 然后修改nginx添加下面这段,跟其他的location一样 很整齐,不至于有人会找不到吧。注意/status这里要跟www.conf中一致

      location /status {
         fastcgi_pass 127.0.0.1:9000;
         include fastcgi_params;
         fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
        }

浏览器输入http://127.0.0.1/status

你可以看到

pool:                 www                            #fpm池名称,大多数为www 
process manager:      dynamic                        #进程管理方式dynamic或者static 
start time:           16/Sep/2018:16:17:41 +0800     #启动日志,如果reload了fpm,时间会更新 
start since:          5                              #运行时间 
accepted conn:        1                              #当前池接受的请求数
listen queue:         0                              #请求等待队列,如果这个值不为0,那么需要增加FPM的进程数量 
max listen queue:     0                              #请求等待队列最高的数量 
listen queue len:     128                            #socket等待队列长度 
idle processes:       4                              #空闲进程数量 
active processes:     1                              #活跃进程数量 
total processes:      5                              #总进程数量 
max active processes: 1                              #最大的活跃进程数量(FPM启动开始计算)
max children reached: 0                              #程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量过小,可以适当调整。
slow requests:        0                              #启用了php-fpm slow-log,缓慢请求的数量

4.安装redis

yum install redis
yum install php-redis

查看redis.so

查看/usr/lib64/php/modules/redis.so是否存在

然后变价redis.ini

vi /etc/php.d/redis.ini

我以前也是修改php.ini的现在好像都换出去了,你看php.d里面有各种库的ini文件,我的redis.ini是自动生成的,并且里面的vi extension = redis.so已经去过注释了。

重启nginx 和 php-fpm 你就可以看到redis了。

猜你喜欢

转载自blog.csdn.net/wwx890208/article/details/82711295