linux

如何搭建LNMP测试环境

小樊
43
2025-10-03 08:07:36
栏目: 编程语言

一、准备工作
搭建LNMP测试环境前需完成基础准备:选择Ubuntu/CentOS等Linux发行版(推荐Ubuntu,软件包更易获取);准备远程连接工具(如XShell、SecureCRT);确保服务器联网且DNS正常解析。安装前建议更新系统软件包,避免依赖冲突:

sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
# 或
sudo yum update -y                      # CentOS/RHEL

二、安装Nginx(Web服务器)
Nginx作为轻量级Web服务器,负责处理HTTP请求。安装命令:

sudo apt install nginx -y               # Ubuntu/Debian
# 或
sudo yum install epel-release && sudo yum install nginx -y  # CentOS/RHEL

安装完成后,启动Nginx并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

验证安装:浏览器访问服务器IP地址,若看到Nginx默认欢迎页面(含“Welcome to nginx!”字样),则说明安装成功。

三、安装MySQL(数据库服务器)
MySQL用于存储网站数据(如WordPress、Discuz等应用的表结构)。安装命令:

sudo apt install mysql-server -y        # Ubuntu/Debian
# 或
sudo yum install mysql-server -y        # CentOS/RHEL

安装过程中会提示设置root用户密码(请务必记住,后续管理数据库需用到)。启动MySQL并设置开机自启:

sudo systemctl start mysql
sudo systemctl enable mysql

安全加固:运行MySQL安全脚本,修改root密码强度、移除匿名用户、禁止root远程登录:

sudo mysql_secure_installation

按提示逐步操作(如输入当前root密码、设置新密码、移除匿名用户等)。

四、安装PHP(服务器端脚本语言)
PHP用于处理动态网页逻辑(如表单提交、数据库交互)。安装PHP及必要扩展(如php-mysql用于连接MySQL):

sudo apt install php-fpm php-mysql -y   # Ubuntu/Debian
# 或
sudo yum install php-fpm php-mysqlnd -y # CentOS/RHEL

安装完成后,检查PHP版本以确认安装成功:

php -v

配置PHP-FPM(可选但建议):编辑PHP-FPM池配置文件(路径因版本而异),确保listen指令与Nginx配置一致:

sudo nano /etc/php/7.4/fpm/pool.d/www.conf  # Ubuntu 20.04(PHP 7.4)
# 或
sudo nano /etc/php/8.1/fpm/pool.d/www.conf  # Ubuntu 22.04(PHP 8.1)

找到listen = /run/php/php7.4-fpm.sock(或127.0.0.1:9000),确保路径正确(后续Nginx需引用此路径)。保存后重启PHP-FPM:

sudo systemctl restart php7.4-fpm         # Ubuntu 20.04
# 或
sudo systemctl restart php8.1-fpm         # Ubuntu 22.04

五、配置Nginx支持PHP
默认Nginx无法解析PHP文件,需修改站点配置文件。编辑默认站点配置:

sudo nano /etc/nginx/sites-available/default

找到server块中的location ~ \.php$部分,修改为以下内容(关键参数说明:fastcgi_pass需指向PHP-FPM的socket或IP端口,fastcgi_param用于传递脚本路径):

location ~ \.php$ {
    include snippets/fastcgi-php.conf;    # 引入FastCGI配置
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;  # 根据PHP版本修改(如php8.1-fpm.sock)
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  # 脚本路径
    include fastcgi_params;               # 包含通用FastCGI参数
}

测试Nginx配置语法(避免重启失败):

sudo nginx -t

若输出syntax is oktest is successful,则重启Nginx使配置生效:

sudo systemctl restart nginx

六、验证LNMP环境
在Nginx默认网站根目录(/var/www/html)创建info.php测试文件,内容如下:

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

输入以下代码(用于显示PHP配置信息):

<?php phpinfo(); ?>

保存后,在浏览器访问http://服务器IP/info.php。若看到PHP信息页面(包含版本、扩展、服务器信息等),则说明LNMP环境搭建成功。

七、后续优化(可选但重要)

  1. 设置防火墙:允许HTTP(80)和HTTPS(443)流量,提升安全性:
    sudo ufw allow 'Nginx Full'  # Ubuntu(UFW防火墙)
    sudo ufw enable
    # 或
    sudo firewall-cmd --permanent --add-service=http  # CentOS(Firewalld防火墙)
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
    
  2. 定期更新:保持系统和软件包最新,修复安全漏洞:
    sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
    # 或
    sudo yum update -y                      # CentOS/RHEL
    
  3. 备份配置:定期备份Nginx、MySQL、PHP配置文件(如/etc/nginx//etc/mysql//etc/php/),防止误操作导致数据丢失。

常见问题解决

0
看了该问题的人还看了