最近跟着网上很多教程安装了一遍PHP集群环境搭建,安装过程中发现很多问题,最后又不断解决。总结出最简单的安装方法,由于Nginx和MySQL之前我博客也安装过,这里不做赘述。
安装开始:
#rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装PHP7
#yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64
安装php-fpm
#yum install php70w-fpm php70w-opcache
启动php-fpm
#systemctl start php-fpm
开机启动设置
#systemctl enable php-fpm
#systemctl daemon-reload
配置 nginx与PHP互通
1.修改 /etc/nginx/nginx.conf
2.我这里nginx.conf.default也将下面代码一同添加修改,这里网上的配置五花八门。个人是用的nginx默认的路径
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
location ~ \.php$ {
#root html;
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}error_page 404 /404.html;
location = /40x.html {
}error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Nginx访问PHP文件的File not found错误处理,两种情况
这个错误很常见,原有有下面两种几种
php-fpm找不到SCRIPT_FILENAME里执行的php文件
php-fpm不能访问所执行的php,也就是权限问题
第一种情况
更改配置文件nginx.conf
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
替换成下面
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
然后重新加载nginx配置文件
/etc/init.d/nginx reload
第二种情况
两种解决方法:
第一种,就是把你root文件夹设为其他用户允许
第二种,找到你的php-fpm的配置文件,找到下面这段,把apache替换成你要的用户组
; RPM: apache Choosed to be able to access some dir as httpd
user = www
; RPM: Keep a group allowed to write in log dir.
group = www
我这里遇到的第一种,已解决