昨天给大家介绍了Nginx(Web服务器)的安装教程,反应很好,有的评论也给疯子加了见识,对此了解的更多。希望大家继续和疯子互动,互相学习,互相进步。如果有某些不对的地方,欢迎指出,会立马更改的。?
现在很多的Web服务器,都离不开php的影子,今天就给大家带来如何让nginx支持php的教程。
PHP(全称:PHP:Hypertext Preprocessor,即“PHP:超文本预处理器”)是一种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用。PHP的语法借鉴吸收C语言、Java和Perl等流行计算机语言的特点,易于一般程序员学习。PHP的主要目标是允许网络开发人员快速编写动态页面,但PHP也被用于其他很多领域。
PHP最初是由勒多夫在1995年开始开发的;现在PHP的标准由the PHP Group维护。PHP以PHP License作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不兼容。
PHP的应用范围相当广泛,尤其是在网页程序的开发上。一般来说PHP大多运行在网页服务器上,透过运行PHP代码来产生用户浏览的网页。PHP可以在多数的服务器和操作系统上运行,而且使用PHP完全是免费的。根据2013年4月的统计数据,PHP已经被安装在超过2亿4400万个网站和210万台服务器上。
具体大家可以看下维基百科:https://zh.wikipedia.org/wiki/PHP
PHP官方并没有想nginx建立对应的apt或者yum源,只有源码,但是呢,在yum软件包管理下的有Remi这个源,里面包含了php最新的稳定版,而在apt软件包管理下也有一个php的软件源,虽然系统自带,但是版本比较低
注释:以下命令全部以root用户执行,另外大家复制代码的时候前面的#不要复制,#代表的是root权限
我们先来安装epel源,这个是Remi源的依赖
# yum install epel-release.noarch -y 把epel源更改源阿里的,下载速度会快点 # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装remi源,并清理更新yum缓存
# yum install https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm -y 把remi源改为阿里的,下载速度会提升不少 # sed -i "s/#baseurl=http:////rpms.remirepo.net/baseurl=http:////mirrors.aliyun.com//remi/g" /etc/yum.repos.d/remi-safe.repo && sed -i "s/mirrorlist/#mirrorlist/g" /etc/yum.repos.d/remi-safe.repo # yum clean all && yum makecache
现在我们开始安装php啦,从PHP官网得知最新稳定版本的是7.3.7( 2019年7月4日更新)
安装php-fpm # yum install php73-php-fpm.x86_64 -y 把php-fpm运行用户改为nginx # sed -i "s/apache/nginx/g" /etc/opt/remi/php73/php-fpm.d/www.conf 设置开机启动 # systemctl enable php73-php-fpm.service
然后修改nginx配置文件,基于上一个教程nginx1.16版本的默认配置修改
让nginx默认优先加载index.php # sed -i "10 s/index/ / index.html/index/ / index.php/ index.html/g" /etc/nginx/conf.d/default.conf 让nginx支持php # sed -i "30,36 s/#// /g" /etc/nginx/conf.d/default.conf # sed -i "34 s///scripts///usr//share//nginx//html///g" /etc/nginx/conf.d/default.conf
测试php是否成功
在网站根目录新建一个index.php # echo -e "<?php/n/tphpinfo();/n?>" > /usr/share/nginx/html/index.php 重启nginx和启动php-fpm # systemctl restart nginx && systemctl start php73-php-fpm.service
然后我们打开浏览器,输入Web服务器的IP地址,如果得到下面的页面就代表成功啦~
注释:以下命令全部以root用户执行,另外大家复制代码的时候前面的#不要复制,#代表的是root权限
我们来给增加php的源, 由Ondřej Surý大神维护的
Debian 10 # echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list # curl -fsSL https://packages.sury.org/php/apt.gpg | apt-key add - Ubuntu 18.04 # apt install -y software-properties-common && add-apt-repository ppa:ondrej/php
更新apt源并安装php最新稳定版本7.3.6(目前Ondrej源没有跟新到7.3.7,应该很快就会适配了)
# apt update && apt install php7.3-fpm -y 把php-fpm运行用户改为nginx # sed -i "s/www-data/nginx/g" /etc/php/7.3/fpm/pool.d/www.conf # sed -i "36 s///run//php//php7.3-fpm.sock/127.0.0.1:9000/g" /etc/php/7.3/fpm/pool.d/www.conf 设置开机启动 # systemctl enable php7.3-fpm.service
然后修改nginx配置文件,基于上一个教程nginx1.16版本的默认配置修改
让nginx默认优先加载index.php # sed -i "10 s/index/ / index.html/index/ / index.php/ index.html/g" /etc/nginx/conf.d/default.conf 让nginx支持php # sed -i "30,36 s/#// /g" /etc/nginx/conf.d/default.conf # sed -i "34 s///scripts///usr//share//nginx//html///g" /etc/nginx/conf.d/default.conf
测试php是否成功
在网站根目录新建一个index.php # echo -e "<?php/n/tphpinfo();/n?>" > /usr/share/nginx/html/index.php 重启nginx和php-fpm # systemctl restart nginx && systemctl restart php7.3-fpm.service
然后我们打开浏览器,输入Web服务器的IP地址,如果得到下面的页面就代表成功啦~
大家尽量不要复制,看看修改的那些文件的配置,打开看一看,疯子以前没有在debian上面安装过php,也是从百度,谷歌总结而来的,最后在虚拟机上面实验成功才给大家一步一步写的教程,大家的满意就是对疯子最大的赞赏。下期将会给大家带来(MariaDB)数据库的安装教程。感谢大家的支持,谢谢~
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/31403.html