商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > LNMP如何部署

LNMP如何部署

  发布于2026-05-23 阅读(0)

扫一扫,手机访问

部署一套稳定、高效的LNMP环境,是许多Web应用上线的第一步。这份指南将带你走通从系统准备到验证上线的完整流程,涵盖Ubuntu/Debian和CentOS两大主流发行版的操作差异。

LNMP如何部署

1. 准备基础环境

首先,确保你的服务器已经安装了Linux操作系统。推荐使用稳定的发行版,例如Ubuntu 22.04/20.04或CentOS Stream 9/8。开始安装前,最好先更新一下系统软件包,这能有效避免后续可能出现的兼容性问题。

  • 对于Ubuntu或Debian系统,执行:sudo apt update && sudo apt upgrade -y
  • 对于CentOS系统,执行:sudo yum update -y

2. 安装Nginx(Web服务器

Nginx将作为我们网站的入口和静态文件服务器

  • Ubuntu/Debian系统:直接通过包管理器安装:sudo apt install nginx -y。安装完成后,启动Nginx服务并设置为开机自启:sudo systemctl start nginxsudo systemctl enable nginx
  • CentOS系统:需要先添加EPEL仓库以获取最新版本:sudo yum install epel-release -y,然后再安装Nginx:sudo yum install nginx -y。同样,启动并设置开机自启。

安装完成后,打开浏览器,访问你的服务器IP地址。如果能看到Nginx的默认欢迎页面(比如“Welcome to nginx!”),那就说明Web服务器已经成功运行了。

3. 安装MySQL/MariaDB(数据库)

接下来是数据库部分,它将负责存储和管理应用数据。

  • Ubuntu/Debian系统:执行 sudo apt install mysql-server -y。安装后,强烈建议运行安全配置脚本:sudo mysql_secure_installation。根据提示,设置root用户的强密码、移除匿名用户、禁止root账户远程登录等,这些步骤能极大提升数据库的安全性。
  • CentOS系统:默认使用MariaDB,执行 sudo yum install mariadb-server -y。安装后启动服务并设置开机自启:sudo systemctl start mariadbsudo systemctl enable mariadb。同样,运行 sudo mysql_secure_installation 完成安全配置。

最后,可以通过 mysql -u root -p 命令尝试登录数据库,验证服务是否正常。

4. 安装PHP及扩展(后端脚本)

PHP是处理动态请求的核心。我们需要安装PHP及其与Nginx、MySQL协作所必需的扩展。

  • Ubuntu/Debian系统:执行 sudo apt install php-fpm php-mysql php-xml php-curl php-gd -y。这里安装了PHP-FPM进程管理器、MySQL驱动、XML解析、cURL和GD图像处理等常用扩展。
  • CentOS系统:执行 sudo yum install php php-fpm php-mysqlnd -y。注意,php-mysqlnd 是MySQL的原生驱动,性能上通常更有优势。

安装完成后,启动PHP-FPM服务并设置开机自启:sudo systemctl start php-fpmsudo systemctl enable php-fpm。Nginx正是通过FastCGI协议与PHP-FPM进行通信的。

5. 配置Nginx支持PHP

这是让Nginx和PHP“握手”的关键一步。你需要编辑Nginx的默认站点配置文件。

  • Ubuntu/Debian:配置文件通常在 /etc/nginx/sites-a vailable/default
  • CentOS:配置文件通常在 /etc/nginx/conf.d/default.conf

使用文本编辑器(如nano)打开对应文件,找到 location ~ \.php$ 这个代码块。确保其内容如下(注意根据你的PHP版本调整fastcgi_pass的路径,例如PHP 8.2对应 /run/php/php8.2-fpm.sock):

location ~ \.php$ {
    include snippets/fastcgi-php.conf; # 包含FastCGI配置片段
    fastcgi_pass unix:/run/php/php-fpm.sock; # 与PHP-FPM通信的socket路径
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 设置脚本文件路径
    include fastcgi_params; # 包含通用FastCGI参数
}

保存文件后,先测试一下配置语法是否正确:sudo nginx -t。如果输出显示“syntax is ok”,就说明配置无误。最后,重启Nginx服务使配置生效:sudo systemctl restart nginx

6. 验证LNMP环境

环境搭建好了,是时候验收成果了。在Nginx的默认网站根目录(通常是 /var/www/html)创建一个PHP测试文件:

sudo nano /var/www/html/info.php

在文件中写入以下内容并保存:

现在,打开浏览器,访问 http://你的服务器IP/info.php。如果一切顺利,你将看到一个详细的PHP信息页面,上面列出了PHP版本、已加载的扩展等信息。看到这个页面,恭喜你,LNMP环境已经成功搭建!

7. 后续优化(可选但重要)

基础环境跑通后,还有几个优化步骤能让你的服务器更安全、更专业。

  • 配置防火墙:开放Web服务所需的端口。以Ubuntu的UFW防火墙为例,执行 sudo ufw allow 'Nginx Full'(允许HTTP 80和HTTPS 443端口),然后启用防火墙:sudo ufw enable
  • 部署SSL证书:为你的域名启用HTTPS加密。Let’s Encrypt提供了免费的SSL证书。在Ubuntu上,可以安装Certbot工具:sudo apt install certbot python3-certbot-nginx -y,然后为你的域名配置SSL:sudo certbot --nginx -d yourdomain.com
  • 创建网站目录:如果你要部署自己的网站,建议在 /var/www/html 下为每个站点创建独立的目录,例如 sudo mkdir -p /var/www/html/yourdomain.com。别忘了设置正确的文件所有权,确保Nginx有权限读取:sudo chown -R www-data:www-data /var/www/html/yourdomain.comwww-data是Nginx在Ubuntu/Debian上的默认运行用户,CentOS上通常是nginx用户)。
本文转载于:https://www.yisu.com/ask/45448957.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注