阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu安装Lighttpd、PHP和MariaDB

85次阅读
没有评论

共计 4117 个字符,预计需要花费 11 分钟才能阅读完成。

导读 本文档将引导您从核心 Ubuntu 发行版安装 lighttpd,然后解释如何将其更新到最新版本。
介绍

Lighttpd,也称为 Lighty,是一个占用空间小的开源 Web 服务器,当与 PHP 和 MySQL 或 MariaDB 一起安装时,它可以可靠地为数百万个连接提供服务。Lighty 还有许多扩展其功能的模块。

本文档将引导您从核心 Ubuntu 发行版安装 lighttpd,然后解释如何将其更新到最新版本。它还包括安装 PHP、使用 FastCGI 进程管理器 (FPM) 池保护 PHP、安装 MariaDB 以及使用 Let’s Encrypt 的 SSL 证书保护 Web 服务器。

先决条件
    一个全新的 Vultr Ubuntu 20.04 LTS x64 服务器实例
    与实例的 SSH、HTTP 和 HTTPS 连接
    指向实例 IP 地址的 DNS 记录。本文档使用 build.example.com
1. 添加 PHP 存储库

要支持 PHP 的最新版本,请添加由 Ubuntu 和 PHP 开发人员之一托管的公共存储库。

# add-apt-repository -y ppa:ondrej/php

Ubuntu 安装 Lighttpd、PHP 和 MariaDB添加存储库后,更新本地 apt 缓存。

# apt update
2. 安装 Lighttpd

要获取 lighttpd 的核心安装,请安装 apt 版本:
Ubuntu 安装 Lighttpd、PHP 和 MariaDB

# apt install -y lighttpd

完成后,检查您安装的 lighttpd 的版本。

# lighttpd -v

如果您运行的是 Ubuntu 20.04,它应该返回 lighttpd/1.4.55 (ssl) – a light and fast webserver​. 通过访问您的站点来确保安装成功,例如 http://build.example.com. 你应该得到 lighttpd 占位符页面。
Ubuntu 安装 Lighttpd、PHP 和 MariaDB

添加 lighttpd 用户和组:

# groupadd lighttpd
# useradd -g lighttpd -d /var/www/html -s /sbin/nologin lighttpd

Ubuntu 安装 Lighttpd、PHP 和 MariaDB

使 lighttpd​用户和组成为 /var/www/html 目录的所有者:

# chown -R lighttpd:lighttpd /var/www/html/

Ubuntu 安装 Lighttpd、PHP 和 MariaDB

3. 安装 MariaDB 和 PHP

除了 lighttp,安装 MariaDB 和 PHP:

# apt install -y php-{cli,gd,fpm,mysql,curl,json,xml} mariadb-server

Ubuntu 安装 Lighttpd、PHP 和 MariaDB

安装 MariaDB 后,保护 MariaDB 安装。

# mysql_secure_installation
    通过点击确认空白的 root 密码 ENTER
    通过输入同意更改密码,Y 然后 ENTER
    输入新的安全密码。
    通过输入删除匿名用户,Y 然后 ENTER
    通过输入禁止 root 登录,Y 然后输入 ENTER
    通过输入删除测试数据库,Y 然后输入 ENTER
    Y 通过输入后跟重新加载权限表 ENTER

重命名默认 PHP FPM 池以与 Web 服务器名称保持一致:

# mv /etc/php/8.1/fpm/pool.d/www.conf /etc/php/8.1/fpm/pool.d/lighttpd.conf

Ubuntu 安装 Lighttpd、PHP 和 MariaDB

通过编辑配置文件更改与池关联的关联用户和 Unix 套接字:

# nano /etc/php/8.1/fpm/pool.d/lighttpd.conf

更改四行:

    将设置池名称的括号内的第一行更改 [www] 为[lighttpd]
    将行更改 user = www-data 为 user = lighttpd
    将行更改 group = www-data 为 group = lighttpd
    将行更改 listen = /run/php/php8.1-fpm.sock 为 listen = /run/php/php8.1-lighttpd-fpm.sock

Ubuntu 安装 Lighttpd、PHP 和 MariaDB保存文件并重启 PHP FPM 服务:

# service php8.1-fpm restart

Ubuntu 安装 Lighttpd、PHP 和 MariaDB

4. 升级 Lighttpd

添加一些从源代码构建最新版本的 lighttpd 所需的包。

# apt install -y gcc libpcre3 libpcre3-dev zlib1g-dev checkinstall libssl-dev

从命令提示符下载最新的 lighttpd 压缩包。在撰写本文时,最新版本是 1.4.66。您可以在 https://download.lighttpd.net/lighttpd/ 找到最新的下载链接

# wget https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.66.tar.gz

提取压缩包。

# tar xzf lighttpd-1.4.66.tar.gz

切换到 lighttpd 工作目录。

# cd lighttpd-1.4.66

将包配置为包含 SSL 并安装在 /usr/sbin 目录中。

# ./configure --with-openssl --sbindir=/usr/sbin

配置完成后,制作包并安装。

# make
# make install

运行 lighttpd -v​确保 1.4.66 版本安装成功。该命令应该返回 lighttpd/1.4.66 (ssl) – a light and fast webserver

5. 配置 Lighttpd

与 Ubuntu 20.04 一起打包的旧 1.4.55 版本有一个已弃用的 mod_compress​模块,您必须将其替换为 mod_deflate. 要更改模块加载,请编辑默认配置:

# nano /etc/lighttpd/lighttpd.conf

更改以下三行:

    将包含的行更改 compress.cache-dir 为 deflate.cache-dir
    删除包含的行 compress.filetype
    将模块配置从 更改 mod_compress 为 mod_deflate 并保存文件。

通过运行检查配置:

# /usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf
6. 为 Lighttpd 配置 PHP

启用 cgi 和 php 模块。

# lighttpd-enable-mod fastcgi
# lighttpd-enable-mod fastcgi-php

编辑 PHP 配置。

# nano /etc/lighttpd/conf-enabled/15-fastcgi-php.conf

删除整个文件内容并将其替换为以下内容,它 php 为您在步骤 3 中所做的 sock 设置配置模块。

fastcgi.server += ( ".php" =>
        ((
                "socket" => "/run/php/php8.1-lighttpd-fpm.sock",
                "broken-scriptfilename" => "enable"
        ))
)

重新启动服务器以进行新的配置更改:

# service lighttpd restart

添加测试 PHP 文件以确保 PHP 正在运行:

# nano /var/www/html/pi.php

在文件中添加以下内容:
要检查配置,请访问 http://build.example.com/pi.php​并找到 PHP 信息页面。在该 PHP Variables​部分中,确保 $_SERVER[‘USER’]​是 lighttpd。

7. 保护 Lighttpd

要保护 Web 服务器,请添加 Let’s Encrypt TLS 证书并启用 HTTPS 协议。
安装让我们加密。

# apt install -y certbot

申请证书。确保更改 build.example.com 为您的服务器的域名。

# certbot certonly --webroot -w /var/www/html/ -d build.example.com

该向导会询问您的电子邮件地址、同意服务条款以及您是否想成为电子前沿基金会的一员。

启用 Lighttpdssl 模块。

# lighttpd-enable-mod ssl

编辑 Lighttpd SSL 配置:

# nano /etc/lighttpd/conf-enabled/10-ssl.conf

将整个 $SERVER[“socket”]​部分替换为以下内容。在四个地方更改 build.example.com 您的服务器的域名。

$HTTP["scheme"] == "http" {$HTTP["host"] == "build.example.com" {url.redirect = ("/.*" => "https://build.example.com$0")
        }
}

$SERVER["socket"] == "0.0.0.0:443" {
        ssl.engine  = "enable"
        ssl.pemfile = "/etc/letsencrypt/live/build.example.com/fullchain.pem"
        ssl.privkey = "/etc/letsencrypt/live/build.example.com/privkey.pem"
        ssl.cipher-list = "HIGH"
}

保存文件,然后重新启动 lighttpd。

# service lighttpd restart

访问 http://build.example.com​以确保它现在重定向到 https://build.example.com 并使用 SSL 证书。

8. 更新服务器

确保配置正确后,使用最新补丁更新 Ubuntu 服务器。

# apt update -y && apt dist-upgrade -y && apt autoremove -y

重新启动服务器以应用更新。

# reboot now
9. 更多设置

除了创建一个独特的 PHP FPM 池外,还可以更改设置以进一步优化性能和速度。这些设置在 /etc/php/8.1/fpm/pool.d​配置文件中。经常更改的主要设置是 pm​设置,它控制如何创建流程,可以是 dynamic、static 或 ondemand。更改此设置也会影响文件中的其他设置。与任何应用程序一样,正确的服务器设置取决于预期用途、负载和配置。

结论

Lighttpd 是一个强大而简单的 Web 服务器,当与 PHP 和 MariaDB 集成时,它可以以最小的占用空间处理数千个请求。使用 Lets Encrypt 保护它既简单又容易,并为您和您的访问者增加了另一层保护。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计4117字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中