如何搭建LNMP环境?
零基础也能学会!手把手教你搭建LNMP环境完整指南
LNMP(Linux + Nginx + MySQL + PHP)是当前最流行的Web服务器环境之一,以其高性能、低资源消耗著称。本文将采用Step-by-Step方式,带你从零开始完成LNMP环境的搭建,无论你是初学者还是有一定经验的开发者,都能轻松掌握。
准备工作
- 一台安装有Linux系统的服务器(推荐使用CentOS 7/8或Ubuntu 18.04/20.04)
- root或sudo权限
- 稳定的网络连接
- 至少1GB内存(建议2GB以上)
- 10GB以上可用磁盘空间
详细安装步骤
第一步:系统更新
在开始安装前,确保系统是最新状态:
# CentOS/RHEL
sudo yum update -y
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
第二步:安装Nginx
Nginx作为高性能的Web服务器,是LNMP的核心组件:
# CentOS/RHEL
sudo yum install epel-release -y
sudo yum install nginx -y
# Ubuntu/Debian
sudo apt install nginx -y
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
验证安装:浏览器访问http://你的服务器IP
,看到Nginx欢迎页说明成功。
第三步:安装MySQL/MariaDB
我们将安装MariaDB(MySQL的开源分支):
# CentOS/RHEL 7
sudo yum install mariadb-server mariadb -y
# CentOS/RHEL 8
sudo dnf install mariadb-server -y
# Ubuntu/Debian
sudo apt install mariadb-server -y
启动并设置安全选项:
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation
按照提示设置root密码,移除测试数据库等。
第四步:安装PHP
安装PHP及其常用扩展:
# CentOS/RHEL 7
sudo yum install epel-release -y
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install yum-utils -y
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm php-mysqlnd php-opcache php-gd php-mbstring php-curl -y
# Ubuntu/Debian
sudo apt install php-fpm php-mysql php-cli php-gd php-curl php-mbstring -y
验证PHP安装:
php -v
第五步:配置Nginx支持PHP
编辑Nginx默认配置文件:
sudo vi /etc/nginx/conf.d/default.conf
修改server部分配置如下:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
测试并重载配置:
sudo nginx -t
sudo systemctl restart nginx
sudo systemctl restart php-fpm
第六步:测试PHP解析
创建测试文件:
sudo vi /usr/share/nginx/html/info.php
添加以下内容:
浏览器访问http://你的服务器IP/info.php
,应该看到PHP信息页面。
性能优化建议
- Nginx优化:调整worker_processes为CPU核心数,启用gzip压缩
- PHP优化:调整php-fpm进程数量,启用OPcache
- MySQL优化:配置合适的缓存大小,使用索引优化查询
- 安全加固:限制PHP函数执行,配置防火墙规则
常见问题解决
502 Bad Gateway错误
通常是因为php-fpm没有正常运行:
sudo systemctl status php-fpm
sudo systemctl restart php-fpm
PHP文件被下载而非执行
检查Nginx配置是否正确处理.php文件,特别是fastcgi_pass参数。
MySQL连接失败
确保MySQL服务运行正常,检查用户权限:
sudo systemctl status mariadb
mysql -u root -p
总结
通过以上步骤,你已经成功搭建了一个完整的LNMP环境。这个环境可以支持大多数PHP应用的运行,包括WordPress、Laravel等流行框架。建议进一步学习如何配置虚拟主机、SSL证书等进阶内容,让你的网站更加专业和安全。
记得定期更新系统组件,保持环境的安全性和稳定性。如果在搭建过程中遇到任何问题,欢迎在评论区留言讨论。