如何在Ubuntu 16.04上使用PHP-FPM安装Caddy Web Server
Caddy或Caddy Web服务器是一个使用Go编写的开源的支持HTTP / 2的Web服务器。 Caddy可以运行在各种系统上,包括运行Linux,Windows,Mac OS,Android和BSD操作系统的系统。 Caddy有很多功能,可以作为Web服务器安装,也可以作为应用程序的反向代理。 最显着的Caddy网络服务器功能是默认启用的自动HTTPS,无需额外配置。
在本教程中,我将逐步向您展示如何在Ubuntu 16.04上使用PHP-FPM 7.x安装和配置Caddy Web服务器。 我们将在本地环境中安装球童,然后为基于PHP的应用程序配置PHP-FPM。
先决条件
- Ubuntu 16.04服务器
- 根特权
我们将要做什么
- 安装Caddy web服务器
- 配置Caddy网络服务器
- 在Systemd Ubuntu 16.04上运行Caddy作为服务
- 安装PHP和PHP-FPM 7.0
- 使用PHP-FPM配置Caddy Web服务器
- 测试
第1步 - 安装Caddy网络服务器
在这一步中,我们将使用安装程序脚本安装Caddy Web服务器。 该脚本将自动下载二进制文件并将其解压到bin目录。
下载安装程序脚本并使其可执行。
wget https://getcaddy.com -O getcaddy
chmod +x getcaddy
现在用sudo运行安装脚本。
sudo ./getcaddy personal http.ipfilter,http.ratelimit
注意:
- getcaddy = caddy安装程序脚本。
- 个人 =我们安装的许可证。
- http.ipfileter ... =包含caddy插件安装。
等待球童web服务器安装,你会得到如下结果。
Caddy Web服务器已安装在Ubuntu 16.04上。
第2步 - 基本Caddy网络服务器配置
在这一步中,我们将配置Caddy web服务器。 我们将创建一个名为'caddy'的新用户,为caddy配置文件创建一个新目录,为caddy日志文件创建一个新目录,为caddy web根目录创建一个新目录。
使用'/ bin / false'选项创建一个新的'caddy'用户,如下所示。
useradd -M -s /bin/false caddy
现在运行以下mkdir命令来创建caddy目录。
mkdir -p /etc/caddy
mkdir -p /var/log/caddy
mkdir -p /var/www/html
并将所有权更改为球童用户。
chown -R caddy:root /etc/caddy /var/log/caddy
接下来,我们将创建一个名为'Caddyfile'的新的球童配置文件。 转至'/ etc / caddy'目录并使用vim命令创建配置。
cd /etc/caddy/
vim Caddyfile
在那里粘贴基本的球童配置。
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
tls off
gzip
}
保存并退出。
注意:
- tls off =我们在本地服务器上运行球童,如果你在现场服务器上,启用该选项。
Caddy网络服务器的基本配置已完成。
第3步 - 在Systemd Ubuntu 16.04上将Caddy作为服务运行
在这一步中,我们将在systemd系统上运行caddy web服务器作为服务,并为我们的caddy web服务器创建index.html文件。
使用vim创建一个名为'caddy.service'的新服务文件。
vim /etc/systemd/system/caddy.service
在那里粘贴以下配置。
[Unit]
Description=Caddy HTTP/2 web server
[Service]
User=caddy
Group=caddy
Environment=CADDYPATH=/etc/caddy
ExecStart=/usr/local/bin/caddy -agree=true -log=/var/log/caddy/caddy.log -conf=/etc/caddy/Caddyfile -root=/dev/null
ExecReload=/bin/kill -USR1 $MAINPID
LimitNOFILE=1048576
LimitNPROC=64
[Install]
WantedBy=multi-user.target
保存并退出。
现在重新加载systemd系统并使用systemctl命令启动caddy服务,如下所示。
systemctl daemon-reload
systemctl start caddy
启用它在系统启动时每次启动。
systemctl enable caddy
Caddy网络服务器现在在Ubuntu 16.04上作为服务运行。
接下来,我们将在Web根目录'/ var / www / html'下创建一个新的index.html文件。
转到该目录并使用下面的命令创建index.html文件。
cd /var/www/html
echo '<h1><center>Caddy web server</center></h1>' > index.html
现在将文件的所有者更改为'caddy'用户和组。
chown -R caddy:caddy /var/www/html
index.html文件已创建。 打开网页浏览器并输入您在'Caddyfile'配置中键入的域名地址,我的是:
http://hakase-labs.co/
你会得到我们创建的索引页面。
第4步 - 安装PHP和PHP-FPM 7.0
在这一步中,我们将从Ubuntu存储库安装PHP-FPM软件包。
运行下面的apt命令。
sudo apt install -y php7.0-fpm php7.0-cli curl
安装完成后,我们将配置PHP-FPM的配置文件。
转至'/etc/php/7.0/fpm'目录并使用vim编辑池配置文件'www'conf'。
cd /etc/php/7.0/fpm
vim pool.d/www.conf
取消下面的注释。
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
保存并退出。
现在将'caddy'用户添加到'www-data'组。
usermod -a -G www-data caddy
启动PHP-FPM服务并使其每次在系统启动时启动。
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
我们Caddy web服务器安装的PHP-FPM安装和配置已经完成。
使用下面的netstat命令检查PHP-FPM套接字文件进程。
netstat -pl | grep php
第5步 - 使用PHP-FPM配置Caddy Web服务器
在PHP-FPM安装和配置之后,我们将向Caddy网络服务器添加PHP-FPM支持。
转到'/ etc / caddy'配置目录并使用vim编辑配置文件'Caddyfile'。
cd /etc/caddy
vim Caddyfile
现在在您的域名括号下添加以下PHP-FPM配置,如下所示。
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
errors /var/log/caddy/errors.log
tls off
gzip
# PHP-FPM Configuration for Caddy
fastcgi / /run/php/php7.0-fpm.sock php {
ext .php
split .php
index index.php
}
}
保存并退出。
重新启动球童web服务器和PHP-FPM服务。
systemctl restart caddy
systemctl restart php7.0-fpm
带有PHP-FPM的Caddy web服务器配置已完成。
第6步 - 测试
转到Web根目录'/ var / ww / html'并创建phpinfo文件'info.php'。
cd /var/www/html
echo '<?php phpinfo(); ?>' > info.php
打开您的网络浏览器并输入Caddy web服务器URL安装如下。
http://hakase-labs.co/info.php
你将得到如下所示的PHP信息页面。
在Ubuntu 16.04上使用PHP-FPM安装Caddy web服务器已成功完成。