今天爱分享给大家带来linux环境安装php nginx配置【图文详解】,希望能够帮助到大家。
PHP是超文本预处理器,是一种开源在服务器端执行的脚本语言。
yum是一个在centos中的shell前端软件包管理器,基于PRM包管理,能够从指定的服务器自动下周RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
通过yum安装php
yum install php
为了让Nginx可以操作PHP请求,需要安装php-fpm ,php与nginx连接软件
yum -y install php-fpm
随后为了让MariaDB与PHP相连接,需要安装php-mysqlnd,mysqlnd是一种效率更高的php和mysql的连接方式。
yum -y install php-mysqlnd
php与mysql连接软件
yum -y install php-mbstring
为了使PHP不出现中文乱码,再安装上php-mbstring php的中文编码库
yum install php-xml
php与xml连接软件,使得PHP可以解析XML
启动php-fpm,并设置php-fpm开机自启
service php-fpm start chkconfig php-fpm on
在相应的目录下找到nginx.conf配置文件,这里是在默认目录下,开启Nginx支撑PHP的模块,下面是修改内容
保存完修改后的配置,重启一下nginx,让配置生效,我们就可以通过nginx来处理PHP请求了。
可以自己在nginx的网页根目录写一个php文件要验证Nginx是否已经可以处理PHP请求了,这里在/use/local/nginx/html(Nginx默认位置)中创建one.php文件,然后写上简单的数字。
重新启动nginx
创建一个 ayu.php文件,随意输入字符,然后通过相应的URL访问该php文件,如果Nginx不支持PHP请求,浏览器就会弹出下载one.php文件提示框,若Nginx支持PHP请求,就会相应相应的PHP界面。
重启nginx后访问后发现无法访问
查看nginx的error日志发现
[error] 53643#0: *7 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.122.1, server: localhost, request: "GET /one.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.122.1"
是无法连接到php-fpm,打开php-fpm的配置文件www.conf,发现与nginx.conf里面的端口不匹配,一种是unix socket,一种是tcp端口,改成统一
gedit /etc/php-fpm.d/www.conf
改成
保存退出重新加载php-fmp
(注:这里可能会有个坑:在nginx配置下的conf.d文件下如果有php-fmp,内容可能未更改为ip通信方式,会导致nginx与php-fmp通信失败。)
访问one.php