☞ 前言
在上文中我们初尝了CaddyServer的运行。这次我们来尝试配合PHP使用。
☞ 编译安装PHP环境
一、下载
以下以CentOS 7.4为例,安装PHP的运行环境。可以先从PHP官网下载源码包,http://php.net/downloads.php

这里我选择下载最新版本的PHP-7.2.3
// Download Command Line: wget http://cn.php.net/distributions/php-7.2.3.tar.gz
二、解压
将下载的包,解压:
tar -zxvf php-7.2.3.tar.gz
三、安装编译环境依赖
yum -y install gcc yum -y install libxml2 yum -y install libxml2-devel yum -y install openssl yum -y install openssl-devel yum -y install curl yum -y install curl-devel yum -y install libjpeg yum -y install libjpeg-devel yum -y install libpng yum -y install libpng-devel yum -y install freetype yum -y install freetype-devel yum -y install pcre yum -y install pcre-devel yum -y install libxslt yum -y install libxslt-devel yum -y install bzip2 yum -y install bzip2-devel
四、编译PHP源码包
先进入刚刚解压的PHP源码目录
cd php-7.2.3
然后执行配置设置
./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
最后执行编译
make
五、安装PHP
执行安装
make install
六、配置文件及参数
php的默认安装位置上面已经指定为/usr/local/php,接下来初始化一些配置文件
cp php.ini-development /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp sapi/fpm/php-fpm /usr/local/bin
然后设置php.ini,使用: vim /usr/local/php/lib/php.ini 打开php配置文件找到cgi.fix_pathinfo配置项,这一项默认被注释并且值为1,根据官方文档的说明,这里为了当文件不存在时,阻止Nginx将请求发送到后端的PHP-FPM模块,从而避免恶意脚本注入的攻击,所以此项应该去掉注释并设置为0。
设置完毕保存并退出。

另外注意一个地方就是php.ini配置文件的位置可以在编译前配置参数中设置,编译参数可以写成:–with-config-file-path=/usr/local/php 这样的话php就回去指定的目录下读取php.ini配置文件,如果不加这个参数默认位置就是php安装目录下的lib目录,具体也可以在phpinfo()输出界面查看,如果php.ini放到其他位置,php读取不到,那么所有的配置修改后都是不生效的,这点要注意。
设置php-fpm服务
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
启动php-fpm,php-fpm 可用参数 start|stop|force-quit|restart|reload|status
service php-fpm start
至于,PHP环境配置告一段落。
☞ 安装CaddyServer
由于上一篇文章介绍了CaddyServer的安装步骤,这次我们简要重新执行一下。
一、下载Caddy
wget https://caddyserver.com/download/linux/amd64?license=personal && mv ./amd64?license=personal ./caddy.tar.gz
二、解压
tar -zxvf caddy.tar.gz
三、添加到系统path
mv ./caddy /usr/bin
四、创建目录
该目录用于主要放网站相关文件。
建议在/opt目录下创建wwwroot目录,并且在wwwroot创建
- 1、配置文件Caddyfile
- 2、网站根目录www
- 3、日志目录log

☞ 配置CaddyServer
一、配置Caddy
在上一步我们创建了相应的目录和配置文件。所以我们在配置文件CaddyServer中写配置并保存:
192.168.52.60:80 {
root /opt/wwwroot/www
fastcgi / 127.0.0.1:9000 php {
index index.php
}
gzip
browse
log /opt/wwwroot/log/access.log
errors /opt/wwwroot/log/error.log
}
然后在www目录中创建index.php,并且写入以下内容并保存:
<?php phpinfo(); ?>
最后在wwwroot目录中启动命令行:
[root@VM_7_243_centos wwwroot]# caddy
caddy已经启动。
☞ 成功解析PHP
一、访问试试
这时只要打开浏览器,输入192.168.52.60(你配置文件填写的IP),就发现PHP已被解析并成功访问。

成功解析PHP并访问。