让Debian的nginx(Web服务器)支持PHP

PHP的应用范围相当广泛,尤其是在网页程序的开发上。一般来说PHP大多运行在网页服务器上,透过运行PHP代码来产生用户浏览的网页。PHP可以在多数的服务器和操作系统上运行,而且使用PHP完全是免费的。

注释:以下命令全部以root用户执行,另外大家复制代码的时候前面的#不要复制,#代表的是root权限

  • 增加php的源

# 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 -

  • 首先,更新apt包列表并安装通过HTTPS添加新存储库所需的依赖项

# apt update
# apt install apt-transport-https ca-certificates curl software-properties-common

  • 添加GPG密钥并启用ondrej的存储库

# curl -fsSL https://packages.sury.org/php/apt.gpg | sudo apt-key add -
# add-apt-repository "deb https://packages.sury.org/php/ $(lsb_release -cs) main"

  • 现在我们已经在我们的系统上启用了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

  • 在网站根目录新建一个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地址,如果得到下面的页面就代表成功啦~

完成这一步,离你的博客进了一步。