Centos7安装Ngxin+PHP7.2源码编译踩坑
今天重装了PHP和nginx 发现他们之间的通讯是靠fpm来进行的,所以在安装着两者的同时也要安装php-fpm
源码编译nginx参考我这篇文章:
https://www.jianshu.com/p/933734786da8
然后开始安装php
1、下载
wget https://www.php.net/distributions/php-7.2.20.tar.bz2
2、解压
tar -xjvf php-7.2.20.tar.bz2
3、源码编译三部曲(./configure 、make 、make install)
- 生成配置
进入目录php-7.2.20
./configure
--prefix=/usr/local/php#安装之后php的执行路径
--with-config-file-path=/usr/local/php/etc#执行php的配置文件路劲,即php.ini路径
--enable-fpm#开启fpm
#其他参数自行查阅 ./configure --help
- make
缺什么就用yum 安装 - make install
vi /etc/profile
##加上下面这句话
export PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATH
保存然后执行
source /etc/profile
安装php成功!
配置fpm 进入/usr/local/php目录
文章图片
image.png
##php-fpm.conf
shell>$ cp./etc/php-fpm.conf.default./etc/php-fpm.conf
##www.conf
shell>$ cp ./etc/php-fpm.d/www.conf.default ./etc/php-fpm.d/www.conf
1、配置php-fpm.conf
进入php-fpm.conf文件,修改为自己想要放置的路径,这里每次fpm启动都会有一个pid
pid = /home/xue/study/soft/php/var/run/php-fpm.pid
2、配置www.conf
进入php-fpm.d/www.conf文件,找到listen=127.0.0.1:9000,修改为如下
/var/run/www/php-cgi.sock
启动fpm
/usr/local/php/sbin/php-fpm
启动成功
开始配置nginx和PHP的fpm结合 主要是下面这一部分会出现问题
location ~ \.php$ {
root/home/xue/www;
fastcgi_passunix:/var/run/www/php-cgi.sock;
# 替换fastcgi_pass127.0.0.1:9000
fastcgi_indexindex.php;
#fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
#includefastcgi_params;
includefastcgi.conf;
}
按照这样配置,然后重启nginx
然后访问/home/xue/www 目录下的index.php 会出现50.html错误页面
cat /usr/local/nginx/logs/error.log
查看日志之后报错如下:
2019/08/16 16:24:57 [crit] 27457#0: *55 connect() to unix:/var/run/www/php-cgi.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.1.71, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/www/php-cgi.sock:", host: "192.168.1.78"解决办法:
启动fpm成功之后会在/var/run/www目录下有一个php-cgi.sock文件
- 查看这个文件的读写权限
shell>$ ls /var/run/www/php-cgi.sock-l
文章图片
image.png
- 修改www.conf文件
将listen.mode = 0660
改为0666:
文章图片
image.png - 然后再重启fpm ,在查看权限
文章图片
image.png
推荐阅读
- Mac安装Chromedriver
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- MAC安装Mongo
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- react|react 安装
- VueX--VUE核心插件
- python-安装sublime遇到异常
- typeScript入门基础介绍
- 监控nginx
- 使用homeBrew|使用homeBrew 安装Goland