温馨提示×

LNMP如何部署

小樊
42
2025-11-08 11:08:24
栏目: 编程语言

1. 准备基础环境
首先确保服务器已安装Linux操作系统(推荐Ubuntu 22.04/20.04、CentOS Stream 9/8等稳定发行版),并通过sudo apt update && sudo apt upgrade -y(Ubuntu/Debian)或sudo yum update -y(CentOS)更新系统软件包至最新版本,避免兼容性问题。

2. 安装Nginx(Web服务器)

  • Ubuntu/Debian:执行sudo apt install nginx -y,安装完成后启动Nginx并设置开机自启:sudo systemctl start nginxsudo systemctl enable nginx
  • CentOS:先添加EPEL仓库(sudo yum install epel-release -y),再执行sudo yum install nginx -y,同样启动服务并设置开机自启。
    安装完成后,在浏览器访问服务器IP地址,若看到Nginx默认欢迎页面(如“Welcome to nginx!”),则说明安装成功。

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

  • Ubuntu/Debian:执行sudo apt install mysql-server -y,安装完成后运行安全脚本强化数据库安全性:sudo mysql_secure_installation,按提示设置root用户密码(建议使用强密码)、移除匿名用户、禁止root远程登录等。
  • CentOS:执行sudo yum install mariadb-server -y(CentOS默认使用MariaDB),启动服务并设置开机自启:sudo systemctl start mariadbsudo systemctl enable mariadb,随后运行sudo mysql_secure_installation完成安全配置。
    通过mysql -u root -p登录数据库,验证数据库服务是否正常。

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

  • Ubuntu/Debian:执行sudo apt install php-fpm php-mysql php-xml php-curl php-gd -y,安装PHP核心及常用扩展(如MySQL驱动、XML解析、GD库等)。
  • CentOS:执行sudo yum install php php-fpm php-mysqlnd -y,其中php-mysqlnd是MySQL的原生驱动,性能更优。
    安装完成后,启动PHP-FPM(Nginx通过FastCGI与PHP-FPM通信)并设置开机自启:sudo systemctl start php-fpmsudo systemctl enable php-fpm

5. 配置Nginx支持PHP
编辑Nginx默认站点配置文件(路径因系统而异):

  • Ubuntu/Debian:sudo nano /etc/nginx/sites-available/default
  • CentOS:sudo nano /etc/nginx/conf.d/default.conf

找到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参数
}

保存文件后,测试Nginx配置语法是否正确: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,写入以下内容:

<?php phpinfo(); ?>

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

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

  • 配置防火墙:允许HTTP(端口80)和HTTPS(端口443)流量,以Ubuntu为例,执行sudo ufw allow 'Nginx Full',然后启用防火墙:sudo ufw enable
  • 部署SSL证书:使用Let’s Encrypt免费获取SSL证书,提升网站安全性,执行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),设置正确的权限(sudo chown -R www-data:www-data /var/www/html/yourdomain.comwww-data为Nginx默认运行用户)。

0