Loading... ### Ubuntu 18.04 安装 LEMP 堆栈教程 LEMP 堆栈是一组开源软件的组合,用于搭建强大的服务器环境。LEMP 代表 Linux(操作系统),Nginx(Web 服务器),MySQL/MariaDB(数据库管理系统),以及 PHP(服务器端脚本语言)。本教程将逐步引导您在 Ubuntu 18.04 上安装和配置 LEMP 堆栈。 --- #### 第一步:更新系统包 在安装 LEMP 堆栈之前,首先需要确保系统的软件包处于最新状态。可以使用以下命令来更新系统: ```bash sudo apt update sudo apt upgrade -y ``` - **命令解释**: - `sudo apt update`:更新可用的软件包列表。 - `sudo apt upgrade -y`:升级已安装的软件包,并自动回答“是”以进行确认。 #### 第二步:安装 Nginx Nginx 是 LEMP 堆栈中的 Web 服务器。通过以下命令安装 Nginx: ```bash sudo apt install nginx -y ``` - **命令解释**: - `sudo apt install nginx -y`:安装 Nginx Web 服务器,并自动确认安装。 安装完成后,您可以使用以下命令检查 Nginx 服务的状态: ```bash sudo systemctl status nginx ``` - **命令解释**: - `sudo systemctl status nginx`:检查 Nginx 服务的当前状态,确认其是否正常运行。 如果 Nginx 正常运行,您可以通过访问服务器的 IP 地址来测试 Nginx 是否安装成功。打开浏览器,输入服务器的 IP 地址,您应该看到 Nginx 的默认欢迎页面。 #### 第三步:安装 MySQL 或 MariaDB LEMP 堆栈的数据库部分通常使用 MySQL 或 MariaDB。两者之间可以根据个人喜好选择。以下步骤将以 MySQL 为例进行演示。 首先,安装 MySQL 服务器: ```bash sudo apt install mysql-server -y ``` - **命令解释**: - `sudo apt install mysql-server -y`:安装 MySQL 数据库服务器,并自动确认安装。 安装完成后,运行 MySQL 安全配置脚本来增强数据库安全性: ```bash sudo mysql_secure_installation ``` - **命令解释**: - `sudo mysql_secure_installation`:启动 MySQL 安全配置脚本,帮助设置 root 密码,删除匿名用户,禁止远程 root 登录,移除测试数据库,并重新加载权限表。 根据提示完成安全设置后,您可以使用以下命令登录到 MySQL: ```bash sudo mysql -u root -p ``` - **命令解释**: - `sudo mysql -u root -p`:以 root 用户身份登录 MySQL,`-p` 参数提示输入密码。 #### 第四步:安装 PHP PHP 是 LEMP 堆栈中的服务器端脚本语言,用于处理动态内容。安装 PHP 以及必要的扩展: ```bash sudo apt install php-fpm php-mysql -y ``` - **命令解释**: - `sudo apt install php-fpm php-mysql -y`:安装 PHP-FPM 处理器和用于连接 MySQL 的 PHP 模块。 安装完成后,需要配置 Nginx 以支持 PHP。打开 Nginx 配置文件: ```bash sudo nano /etc/nginx/sites-available/default ``` 在配置文件中,找到以下行并取消注释(去掉前面的 `#`号): ```nginx location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; } ``` - **代码解释**: - `location ~ \.php$`:匹配所有以 `.php` 结尾的请求。 - `include snippets/fastcgi-php.conf`:包含 PHP 的 FastCGI 配置。 - `fastcgi_pass unix:/var/run/php/php7.2-fpm.sock`:指定 PHP-FPM 处理请求的套接字。 保存并退出编辑器后,重新启动 Nginx 使更改生效: ```bash sudo systemctl restart nginx ``` - **命令解释**: - `sudo systemctl restart nginx`:重新启动 Nginx 以应用新配置。 #### 第五步:验证 PHP 是否配置正确 为了验证 PHP 是否配置正确,可以创建一个测试文件。首先,在 Nginx 的根目录中创建一个 `info.php` 文件: ```bash sudo nano /var/www/html/info.php ``` 在文件中添加以下内容: ```php <?php phpinfo(); ?> ``` - **代码解释**: - `phpinfo()`:PHP 函数,输出当前的 PHP 配置信息。 保存并退出编辑器。然后在浏览器中访问 `http://your_server_ip/info.php`,您应该看到一个 PHP 信息页面,显示 PHP 的详细配置信息。 #### 第六步:配置防火墙 为了确保服务器的安全性,需要配置防火墙以允许必要的流量。使用以下命令来允许 HTTP 和 HTTPS 流量通过 UFW(Uncomplicated Firewall): ```bash sudo ufw allow 'Nginx Full' ``` - **命令解释**: - `sudo ufw allow 'Nginx Full'`:允许 HTTP 和 HTTPS 流量通过防火墙。 确认 UFW 状态以确保规则已生效: ```bash sudo ufw status ``` - **命令解释**: - `sudo ufw status`:显示当前防火墙状态及其规则。 #### 第七步:优化 LEMP 堆栈性能 为了确保 LEMP 堆栈的最佳性能,可以进行一些基本的优化配置: 1. **调整 PHP 配置**:编辑 PHP 配置文件 `/etc/php/7.2/fpm/php.ini`,修改以下参数以提高性能: - `memory_limit`:增加 PHP 使用的内存限制。 - `upload_max_filesize` 和 `post_max_size`:调整文件上传大小限制。 2. **配置 MySQL**:编辑 MySQL 配置文件 `/etc/mysql/mysql.conf.d/mysqld.cnf`,增加缓存大小和连接数以提高数据库性能。 3. **使用缓存**:考虑使用 Nginx 缓存、PHP OPcache 或者 MySQL Query Cache 来减少服务器的负载。 #### 原理解释表 | 步骤 | 解释 | | ---------- | ----------------------------------------- | | 系统更新 | 更新系统包确保最新的安全修复和功能。 | | 安装 Nginx | Nginx 是 Web 服务器,负责处理 HTTP 请求。 | | 安装 MySQL | MySQL 是数据库管理系统,存储和管理数据。 | | 安装 PHP | PHP 解释服务器端脚本,用于生成动态内容。 | | 配置 Nginx | 配置 Nginx 以支持 PHP 请求处理。 | | 验证 PHP | 通过浏览器访问确认 PHP 安装成功。 | | 配置防火墙 | 设置防火墙以确保服务器的安全性。 | | 优化性能 | 调整配置以提高 LEMP 堆栈的整体性能。 | ### 结论 通过以上步骤,您已经成功在 Ubuntu 18.04 上安装并配置了 LEMP 堆栈。该堆栈为 Web 开发提供了一个高效且稳定的环境。通过进一步的优化和安全设置,您可以确保服务器在生产环境中的可靠性和安全性。 最后修改:2024 年 09 月 02 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏