售前咨询400-838-0503

怎样搭建LNMP环境?

技术文档 2025-05-25 04:55

从零开始:手把手教你搭建高性能LNMP环境

2023年10月15日 阅读时间:8分钟

在当今互联网时代,拥有一个稳定高效的网站运行环境至关重要。LNMP(Linux+Nginx+MySQL+PHP)作为最受欢迎的Web服务架构之一,以其高性能、低资源消耗的特点受到广大开发者的青睐。本文将详细介绍如何在Linux系统上搭建LNMP环境,包含详细的操作步骤和常见问题解决方案。

一、准备工作

在开始搭建之前,我们需要做好以下准备工作:

  • 操作系统选择:推荐使用CentOS 7/8或Ubuntu 18.04/20.04 LTS版本
  • 硬件配置:至少1GB内存,10GB磁盘空间
  • 网络环境:确保服务器可以正常连接互联网
  • 权限准备:使用root用户或具有sudo权限的账户

建议在操作前执行sudo apt update && sudo apt upgrade -y(Ubuntu)或sudo yum update -y(CentOS)更新系统软件包。

二、安装Nginx Web服务器

2.1 安装Nginx

对于Ubuntu系统:

sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

对于CentOS系统:

sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

2.2 验证安装

在浏览器访问服务器IP地址,如果看到Nginx欢迎页面,说明安装成功。

可以通过sudo nginx -t命令测试配置文件是否正确。

三、安装MySQL数据库

3.1 安装MySQL

Ubuntu系统安装MySQL:

sudo apt install mysql-server -y
sudo systemctl start mysql
sudo systemctl enable mysql

CentOS系统安装MySQL:

sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum install mysql-community-server -y
sudo systemctl start mysqld
sudo systemctl enable mysqld

3.2 安全配置

运行安全脚本进行初始配置:

sudo mysql_secure_installation

按照提示设置root密码,移除匿名用户,禁止root远程登录等安全选项。

四、安装PHP及必要扩展

4.1 安装PHP

Ubuntu系统:

sudo apt install php-fpm php-mysql -y

CentOS系统:

sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install yum-utils
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm php-mysqlnd -y

4.2 配置PHP-FPM

编辑配置文件/etc/php-fpm.d/www.conf:

user = nginx
group = nginx
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx

然后重启PHP-FPM服务:sudo systemctl restart php-fpm

五、配置Nginx支持PHP

编辑Nginx默认配置文件/etc/nginx/conf.d/default.conf或/etc/nginx/sites-available/default:

server {
    listen       80;
    server_name  your_domain.com;
    root   /usr/share/nginx/html;
    index  index.php index.html index.htm;
    
    location / {
        try_files $uri $uri/ =404;
    }
    
    location ~ \.php$ {
        fastcgi_pass   unix:/run/php-fpm/www.sock;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

测试配置并重启Nginx:

sudo nginx -t
sudo systemctl restart nginx

六、测试LNMP环境

创建测试PHP文件:

echo "" > /usr/share/nginx/html/info.php

在浏览器访问http://your_server_ip/info.php,应该能看到PHP信息页面,确认Nginx、PHP和MySQL模块都已正确加载。

七、常见问题及解决方案

7.1 502 Bad Gateway错误

可能原因:PHP-FPM未运行或配置错误

解决方法:检查PHP-FPM服务状态systemctl status php-fpm,确保Nginx配置中的fastcgi_pass路径正确。

7.2 数据库连接失败

可能原因:MySQL未授权或防火墙阻止

解决方法:检查MySQL用户权限,确认防火墙开放了3306端口。

7.3 PHP文件被下载而非执行

可能原因:Nginx未正确配置PHP解析

解决方法:检查Nginx配置中的PHP location块是否正确。

通过以上步骤,我们成功搭建了一个完整的LNMP环境。LNMP架构以其高性能和稳定性,非常适合中小型网站和应用。建议定期更新各组件版本,并做好安全配置,如配置防火墙、定期备份数据库等。对于更复杂的生产环境,还可以考虑添加缓存、负载均衡等组件来进一步提升性能。

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单