Loading... <div class="tip share">请注意,本文编写于 322 天前,最后修改于 278 天前,其中某些信息可能已经过时。</div> # 概述 本文旨在介绍如何在 Ubuntu 22.04 的系统中搭建和配置基础 LNMP 环境,通过 APT 软件包管理器进行升级和安装,摆脱源码编译安装漫长和繁琐的过程。本教程已在 Ubuntu 22.04 x86/Arm 环境中通过测试。 # 安装前准备 纯净的 Ubuntu 22.04 系统 Root 账户权限 ## 安装 Nginx 先安装一些必要的软件依赖 ```bash apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring ``` 添加 Nginx 官方 PGP Key,使用 Nginx 官方的 DEB 源进行安装 ```bash curl https://nginx.org/keys/nginx\_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null ``` 写入 Nginx 官方源配置至 nginx.list ```bash echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list ``` 提升 Nginx 官方源的优先级 ```bash echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx ``` 更新 APT 缓存 ```bash apt update ``` 安装 Nginx ```bash apt install nginx ``` 将 Nginx 服务启动并设置开机启动 ```bash systemctl start nginx systemctl enable nginx ``` ## 安装 PHP 添加 PPA 源 ```bash add-apt-repository ppa:ondrej/php ``` 更新 APT 缓存 ```bash apt update ``` 安装 PHP 及所需的模组 ```bash apt install php8.3-{bcmath,bz2,cli,common,curl,fpm,gd,igbinary,mbstring,mysql,opcache,readline,redis,xml,yaml,zip,exif,imagick} ``` 启动 PHP-FPM 服务并设置开机自启 ```bash systemctl start php8.3-fpm systemctl enable php8.3-fpm ``` ## 安装 MariaDB 同 Nginx 一样,添加 MariaDB 官方 PGP Key,使用 MariaDB 官方的 DEB 源进行安装,在此之前我们先安装必要的软件包 ```bash apt install apt-transport-https curl mkdir -p /etc/apt/keyrings curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp' ``` 编辑 `/etc/apt/sources.list.d/mariadb.sources` 文件,将以下配置写入其中 ```config X-Repolib-Name: MariaDB Types: deb # deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details. URIs: https://deb.mariadb.org/11.2/ubuntu Suites: jammy Components: main main/debug Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp ``` 更新 APT 缓存 ```bash apt update ``` 安装 MariaDB ```bash apt install mariadb-server ``` 启动 MariaDB 服务并设置开机启动 ```bash systemctl start mariadb systemctl enable mariadb ``` 运行 MariaDB 的初始设置 ```bash mariadb-secure-installation ``` 到此 LNMP 的基础环境就搭建完成了,我们还需一点基础的设置来完善我们的 Web 环境 # 基础配置 Nginx 在安装的过程会自动生成一个权限较低的用户来确保 Nginx 安全的运行,但这需要我们修改配置文件切换到这个用户 将 `/etc/nginx/nginx.conf` 中的 ```config user nginx; ``` 修改为 ```config user www-data; ``` 重新启动一下 Nginx ```bash systemctl restart nginx ``` 禁用一些危险的 PHP Function ```bash sed -i 's@^disable_functions.*@disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen@' /etc/php/8.3/fpm/php.ini sed -i 's@^disable_functions.*@disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen@' /etc/php/8.3/cli/php.ini ``` 重新启动一下 PHP-FPM 服务 ```bash systemctl restart php8.3-fpm ``` 启用 OPcache 与 JIT,提高 PHP-FPM 性能 在 `/etc/php/8.3/fpm/conf.d/10-opcache.ini` 中添加如下配置 ```config zend_extension=opcache.so opcache.file_cache=/tmp opcache.interned_strings_buffer=64 opcache.jit=on opcache.jit_buffer_size=256M opcache.max_accelerated_files=65535 opcache.memory_consumption=512 opcache.revalidate_freq=60 opcache.validate_permission=on opcache.validate_root=on ``` 重启 PHP-FPM 服务使得配置生效 ```bash systemctl restart php8.3-fpm ``` 至此你已完成了 LNMP 环境的搭建,并进行了基础的安全和性能配置,快去添加你的第一个网站吧~ 版权声明:本作品采用[知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议](https://creativecommons.org/licenses/by-nc-sa/4.0/)进行许可。 > https://wiki.sspanel.org/#/install-using-ubuntu 最后修改:2024 年 04 月 20 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请随意赞赏