LNMP 是一个常见的 Web 服务器环境组合,由 Linux、Nginx、MySQL 和 PHP 组成。它是一个高性能、轻量级的替代方案,适合运行动态网站和 Web 应用程序。以下是 LNMP 环境的搭建和配置指南:
1. 准备工作
操作系统:确保你使用的是 Linux 系统(如 Debian、Ubuntu、CentOS 等)。
权限:使用 root 用户或具有 sudo 权限的用户。
更新系统:
sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
sudo yum update -y # CentOS
2. 安装 Nginx
Nginx 是一个高性能的 Web 服务器和反向代理服务器。
Debian/Ubuntu:
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
CentOS:
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
验证安装:
在浏览器中访问服务器的 IP 地址(如 http://your_server_ip),如果看到 Nginx 欢迎页面,说明安装成功。
3. 安装 MySQL
MySQL 是一个流行的关系型数据库管理系统。
Debian/Ubuntu:
sudo apt install mysql-server -y
sudo mysql_secure_installation
CentOS:
sudo yum install mysql-server -y
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo mysql_secure_installation
配置 MySQL:
- 设置 root 密码。
- 移除匿名用户。
- 禁止远程 root 登录。
- 删除测试数据库。
- 刷新权限。
4. 安装 PHP
PHP 是一种流行的服务器端脚本语言。
Debian/Ubuntu:
sudo apt install php-fpm php-mysql -y
CentOS:
sudo yum install php-fpm php-mysql -y
配置 PHP-FPM:
编辑 PHP-FPM 配置文件(通常位于 /etc/php/{version}/fpm/php.ini),确保以下配置:
cgi.fix_pathinfo=0
重启 PHP-FPM:
sudo systemctl restart php-fpm
5. 配置 Nginx 支持 PHP
编辑 Nginx 的默认配置文件(通常位于 /etc/nginx/sites-available/default 或 /etc/nginx/conf.d/default.conf),添加以下内容:
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
测试 Nginx 配置:
sudo nginx -t
重启 Nginx:
sudo systemctl restart nginx
6. 测试 PHP
在 Web 根目录(如 /var/www/html)中创建一个 PHP 测试文件:
sudo nano /var/www/html/info.php
添加以下内容:
<?php
phpinfo();
?>
保存并退出。在浏览器中访问 http://your_server_ip/info.php,如果看到 PHP 信息页面,说明 PHP 配置成功。
7. 安装 phpMyAdmin(可选)
phpMyAdmin 是一个基于 Web 的 MySQL 管理工具。
Debian/Ubuntu:
sudo apt install phpmyadmin -y
CentOS:
sudo yum install phpmyadmin -y
配置 Nginx:
将 phpMyAdmin 的配置文件链接到 Nginx 的站点目录:
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
在浏览器中访问 http://your_server_ip/phpmyadmin,使用 MySQL 用户名和密码登录。
8. 安全加固
防火墙:确保只开放必要的端口(如 80、443)。
sudo ufw allow 'Nginx Full'
sudo ufw enable
SSL/TLS:使用 Let's Encrypt 免费证书为站点启用 HTTPS。
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain
9. 常见问题排查
Nginx 502 Bad Gateway:检查 PHP-FPM 是否运行,以及 Nginx 配置中的 fastcgi_pass 是否正确。
MySQL 连接失败:检查 MySQL 是否运行,以及用户权限是否正确。
PHP 文件不解析:检查 Nginx 配置中的 PHP 部分是否正确。
通过以上步骤,您可以在 Linux 系统上成功搭建 LNMP 环境,并运行动态网站或 Web 应用程序。