如何在Ubuntu 16.04上使用PHP-FPM安装Caddy Web Server

如何在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服务器
  • 根特权

我们将要做什么

  1. 安装Caddy web服务器
  2. 配置Caddy网络服务器
  3. 在Systemd Ubuntu 16.04上运行Caddy作为服务
  4. 安装PHP和PHP-FPM 7.0
  5. 使用PHP-FPM配置Caddy Web服务器
  6. 测试

第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服务器已成功完成。

参考

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏