LNMP搭建网站详解
LNMP是一种常见的网站服务器架构,由Linux操作系统、Nginx网页服务器、MySQL数据库和PHP编程语言组成,相比传统的LAMP(Apache+MySQL+PHP)架构,LNMP以Nginx的高并发处理能力和低资源占用优势,被广泛应用于中小型网站、电商平台及内容管理系统(如WordPress、Discuz等)的搭建,本文将详细介绍LNMP环境的搭建步骤、配置要点及注意事项,帮助读者快速掌握这一技术。

环境准备
在搭建LNMP环境前,需确保服务器满足基本要求:操作系统推荐使用CentOS 7+或Ubuntu 20.04+,内存至少2GB(推荐4GB以上),磁盘空间预留20GB以上,需关闭防火墙或开放必要端口(如80、443、3306),并更新系统软件包,以CentOS为例,执行以下命令:
sudo yum update -y sudo systemctl stop firewalld sudo systemctl disable firewalld
安装Nginx
Nginx作为LNMP架构的核心组件,负责处理静态资源请求和反向代理动态请求,安装步骤如下:
添加EPEL仓库(CentOS系统):
sudo yum install epel-release -y
安装Nginx:
sudo yum install nginx -y
启动并设置开机自启:
sudo systemctl start nginx sudo systemctl enable nginx
验证安装:浏览器访问服务器IP地址,若显示Nginx欢迎页面,则安装成功。
安装MySQL数据库
MySQL用于存储网站数据,建议使用MariaDB(MySQL的分支)替代,安装步骤:
安装MariaDB:

sudo yum install mariadb-server mariadb -y
启动并配置安全设置:
sudo systemctl start mariadb sudo systemctl enable mariadb sudo mysql_secure_installation
根据提示设置root密码、移除匿名用户、禁止远程root登录等,确保数据库安全。
创建数据库和用户:
mysql -u root -p CREATE DATABASE wordpress_db; CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
安装PHP及PHP-FPM
PHP-FPM(FastCGI Process Manager)是LNMP中处理动态请求的关键组件,安装步骤:
安装PHP及常用扩展:
sudo yum install php php-fpm php-mysql php-gd php-mbstring php-xml -y
配置PHP-FPM:
编辑/etc/php-fpm.d/www.conf文件,修改用户和组为nginx:sudo vim /etc/php-fpm.d/www.conf
找到
user = apache和group = apache,改为user = nginx和group = nginx。启动并设置开机自启:

sudo systemctl start php-fpm sudo systemctl enable php-fpm
配置Nginx支持PHP
编辑Nginx配置文件/etc/nginx/nginx.conf或站点配置文件(如/etc/nginx/conf.d/default.conf),添加以下内容:
server {
listen 80;
server_name your_domain.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
} 保存后重启Nginx:
sudo systemctl restart nginx
部署测试网站
在/var/www/html目录下创建info.php如下:
<?php phpinfo(); ?>
访问http://your_server_ip/info.php,若显示PHP配置信息,则LNMP环境搭建成功。
优化与安全建议
- 定期更新软件:使用
yum update或apt upgrade保持系统及组件最新。 - 配置SSL证书:通过Let’s Encrypt免费证书启用HTTPS。
- 限制访问权限:设置目录权限(如
chown -R nginx:nginx /var/www/html)。 - 监控日志:定期检查Nginx(
/var/log/nginx/error.log)和MySQL日志。
FAQs
Q1: LNMP与LAMP架构有何区别?
A1: LNMP使用Nginx作为Web服务器,而LAMP使用Apache,Nginx采用事件驱动模型,高并发性能更优,适合处理静态资源和反向代理;Apache则更擅长动态内容和模块化扩展,LNMP在低内存环境下表现更佳,但配置复杂度略高于LAMP。
Q2: 如何解决LNMP环境中PHP文件无法访问的问题?
A2: 首先检查Nginx配置文件中的fastcgi_pass和root路径是否正确;其次确认PHP-FPM服务已启动(systemctl status php-fpm);最后查看Nginx错误日志,定位权限或脚本路径问题,常见解决方案包括调整目录权限或重启服务。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复