Skip to content

LEMP

在这篇文章中

注意

LEMP 是一个开源 Web 开发技术栈,包括 Linux 操作系统、NGINX Web 服务器(发音为 "engine-x")、MySQL 数据库和 PHP 脚本语言。

  • Linux 提供托管和服务器管理。
  • NGINX 充当高性能 Web 服务器和代理服务器。
  • MySQL 是用于存储和处理数据的关系型数据库。
  • PHP 是一种用于创建动态 Web 应用程序的编程语言。

LEMP:核心功能

  • 容器化解决方案:LEMP 栈既提供经典部署方式,也提供容器化解决方案。Docker 容器为组件及其依赖项提供隔离,为开发和生产创建相同的环境。
  • 高性能:NGINX 的事件驱动架构使其能够有效处理数千个并发连接。通过 FastCGI 优化的 PHP 执行确保动态内容的快速处理,静态文件的先进缓存减少了服务器负载。
  • 灵活配置:LEMP 提供配置每个组件的能力。NGINX 支持复杂的路由方案、负载均衡和缓存。MySQL 允许微调性能和安全性参数。PHP 可以根据特定应用程序需求进行配置,可以选择包含必要的扩展并优化内存使用。
  • 多功能性:PHP 8.3 附带了一套现代 Web 开发功能。它支持处理各种数据格式、加密和网络协议。MySQL 提供可靠的数据存储,支持事务、复杂查询和复制。NGINX 提供高级功能,用于路由请求、终止 SSL 和处理媒体内容。
  • 安全性:LEMP 包括多层安全系统。NGINX 保护免受 DDoS 攻击和其他 Web 威胁。MySQL 提供灵活的用户权限管理和数据加密。PHP 的配置考虑了现代安全要求。容器化提供了额外的隔离级别,防止一个组件中的漏洞影响其他组件。
  • 可扩展性:LEMP 架构允许高效扩展应用程序。NGINX 支持跨多个服务器的负载分布。MySQL 为大型数据集提供数据复制和分片。PHP-FPM 允许精确控制工作进程的数量。容器化简化了在负载增加时部署额外应用程序实例的过程。
  • 易于更新:LEMP 组件的更新可以独立进行。NGINX 和 PHP 支持在不中断服务运行的情况下进行更新。MySQL 提供安全的数据库更新工具。使用容器,可以在应用更新到生产环境之前在隔离环境中测试更新。

部署功能

ID 软件名称 兼容操作系统 虚拟机 物理机 vGPU GPU 最低CPU(核) 最低内存(GB) 最低硬盘(GB) 自定义域名 是否启用
21 LEMP Ubuntu 22.04 + + + + 1 1 - 订购

该栈使用 adhocore/lemp:8.3 镜像在 Docker 容器内部署。以下目录用于数据存储:

  • /root/data 用于数据库文件;
  • /root/webroot 用于网站文件。

备注

要使用 MySQL,您需要通过 Docker 容器连接,因为主机系统上没有安装 MySQL 客户端。使用以下命令:

docker exec -it lemp-stack mysql -u root -p 

备注

除非另有说明,默认情况下,我们从开发者的网站或操作系统的存储库中安装软件的最新发布版本。

信息

服务器部署过程的自动生成描述可在 此处 找到

部署 LEMP 后的入门指南

一旦您的订单付款完成,您将收到一封电子邮件通知,发送到您在注册时提供的地址,告知您服务器已准备好使用。此电子邮件将包含您的 VPS IP 地址、登录名和用于连接的密码。

我们的公司客户通过 服务器控制面板和 APIInvapi 管理他们的设备。您可以在 "Network" 选项卡中找到服务器的 IP 地址。有关管理网络设置的详细指南,请参见 此处

  • 登录名密码 用于通过 SSH 连接到服务器:在软件部署后服务器准备就绪时,发送到您注册电子邮件地址的电子邮件通知中提供。连接到数据库的密码与 SSH 服务器连接密码相同。

  • NGINX

    • Web 服务器在端口 88 上可访问
    • Web 内容放置在 /root/webroot 目录中。要托管网站,请将您的文件复制到此目录。
    • 要测试服务器的运行,创建一个测试文件:
      echo "Hello World!" > /root/webroot/test.html 
      
    • 访问:http://<your_server_IP>:88/test.html

  • MySQL

    • 数据库在端口 3306 上可访问
    • 数据存储在 /root/data
    • root 密码与服务器 SSH 访问密码匹配。
    • 要连接,请使用:
      docker exec -it lemp-stack mysql -u root -p
      

    重要:从 PHP 连接到数据库

    在配置 Web 应用程序(WordPress、Laravel 等)时,请使用以下数据库主机:

    127.0.0.1 而不是 localhost

    WordPress 在 wp-config.php 中的示例:

    define('DB_HOST', '127.0.0.1');
    

    使用 localhost 会导致错误:Fatal error: Uncaught mysqli_sql_exception: No such file or directory
    原因:PHP 尝试通过 Unix 套接字连接,这在容器的默认路径中不可用。

  • PHP 8.3

    • 在容器中安装,带有所有必要的扩展
    • 通过 FastCGI 工作以提高性能。
    • 要检查 PHP 的功能,在 /root/webroot 目录中创建一个 info.php 文件:
      echo "<?php phpinfo(); ?>" > /root/webroot/info.php
      

  • 端口

    • 88: Web (NGINX)
    • 3306: MySQL
    • 5432: PostgreSQL

备注

所有与数据库相关的命令都必须通过 Docker 容器使用 docker exec 命令执行。容器在专用网络 lemp-net 中运行,以增强隔离性和安全性。

备注

有关使用数据库的详细信息,请参见 开发者文档

使用 API 订购带有 LEMP 的服务器

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×