首页主机资讯如何在Ubuntu上安装LNMP组件

如何在Ubuntu上安装LNMP组件

时间2025-12-16 09:01:04发布访客分类主机资讯浏览235
导读:在 Ubuntu 上安装 LNMP 组件 一 环境准备与版本选择 更新索引并准备基础工具:sudo apt update && sudo apt install -y curl wget gnupg2 ca-certifi...

在 Ubuntu 上安装 LNMP 组件

一 环境准备与版本选择

  • 更新索引并准备基础工具:sudo apt update & & sudo apt install -y curl wget gnupg2 ca-certificates lsb-release
  • 选择组件版本:
    • Nginx:可用系统仓库或官方 mainline 仓库(推荐获取新特性)
    • 数据库:二选一,MySQL 8.0MariaDB 10.5+
    • PHP:选择与项目兼容的版本(如 PHP 8.1/8.2/8.3),并安装对应的 FPM 与扩展(如 php-fpm、php-mysql、php-curl、php-gd、php-mbstring、php-xml、php-zip

二 安装与配置步骤

  • 安装 Nginx
    • 官方 mainline 源方式(推荐):
      • curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg
      • 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
      • sudo apt update & & sudo apt install -y nginx
    • 系统仓库方式:sudo apt install -y nginx
    • 启动与开机自启:sudo systemctl start nginx & & sudo systemctl enable nginx
    • 防火墙放行:sudo ufw allow ‘Nginx Full’(如启用 UFW)
  • 安装数据库(二选一)
    • MySQL 8.0:
      • sudo apt install -y mysql-server
      • sudo systemctl start mysql & & sudo systemctl enable mysql
      • 安全初始化:sudo mysql_secure_installation
    • MariaDB 10.5+:
      • sudo apt install -y mariadb-server mariadb-client
      • sudo systemctl start mariadb & & sudo systemctl enable mariadb
      • 安全初始化:sudo mysql_secure_installation
  • 安装 PHP 与 FPM
    • Ubuntu 22.04+ 常见版本可直接安装(示例为 PHP 8.1):
      • sudo apt install -y php8.1 php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip
    • 旧版本或需要多版本共存时可用 ondrej/php PPA
      • sudo add-apt-repository ppa:ondrej/php
      • sudo apt update
      • sudo apt install -y php8.1 php8.1-fpm php8.1-mysql …(按需增减扩展)
    • 启动与开机自启:sudo systemctl start php8.1-fpm & & sudo systemctl enable php8.1-fpm
  • 配置 Nginx 处理 PHP
    • 编辑站点配置(示例):sudo nano /etc/nginx/sites-available/default
    • 在 server 块中加入或修改:
      • location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 路径随 PHP 版本变化 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
    • 检查并重载:sudo nginx -t & & sudo systemctl reload nginx
  • 验证安装
    • 创建测试文件:echo “” | sudo tee /var/www/html/info.php
    • 浏览器访问:http://服务器IP/info.php,看到 PHP 信息页即成功

三 常用管理与排错

  • 服务管理
    • Nginx:sudo systemctl start|stop|restart|reload|status nginx
    • PHP-FPM:sudo systemctl start|stop|restart|reload|status php8.1-fpm
    • MySQL/MariaDB:sudo systemctl start|stop|restart|status mysql(或 mariadb)
  • 查看与确认版本
    • Nginx:nginx -v;PHP:php -v;数据库:mysql -V 或 mariadb -V
  • 常见问题
    • 403/404:检查 root 目录权限与 index 指令,确认 /var/www/html 可访问
    • PHP 不解析:确认 Nginx 的 location ~ .php$ 配置存在且 fastcgi_pass 指向正确的 php-fpm.sock;执行 sudo nginx -t 检查语法
    • 端口占用:sudo lsof -i:80 或 ss -tulpen | grep ‘:80’,释放占用进程后再启动 Nginx

四 安全与性能建议

  • 数据库安全:完成 mysql_secure_installation,设置强密码,按需禁用远程 root、删除匿名用户与测试库
  • 防火墙:仅开放必要端口(HTTP/HTTPS),生产环境建议启用 UFW 或云安全组策略
  • PHP 安全与性能:
    • 关闭暴露信息的页面:生产环境删除或限制访问 /var/www/html/info.php
    • 启用 OPcache:在 php.ini 中设置 opcache.enable=1,并按需调整 opcache.memory_consumption 等参数
  • Nginx 优化:开启 Gzip、静态资源缓存、限制请求方法、设置安全响应头(如 X-Frame-Options、X-Content-Type-Options)

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在Ubuntu上安装LNMP组件
本文地址: https://pptw.com/jishu/772486.html
php-fpm如何提升Linux服务器效率 Ubuntu LNMP如何实现远程访问

游客 回复需填写必要信息