什么是LNMP?LNMP环境的搭建和配置指南

什么是LNMP?LNMP环境的搭建和配置指南

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

添加以下内容:

保存并退出。在浏览器中访问 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 应用程序。

相关推荐

一分钟秒懂!微信牛房卡如何购买/鸿运大厅正版房卡在哪买”!获取房卡教程-知乎
手机电池查看全攻略:从设置、软件到外部观察与保养建议
如何控制扬声器的平衡或禁用一个扬声器?
365bet投注盘口

如何控制扬声器的平衡或禁用一个扬声器?

📅 07-11 👁️ 7201
“好问则裕”的意思及全诗出处和翻译赏析
365BET导航

“好问则裕”的意思及全诗出处和翻译赏析

📅 07-05 👁️ 5911
28颗牙齿分布图(如何用数字和字母表示牙位?)
office365无法登录激活

28颗牙齿分布图(如何用数字和字母表示牙位?)

📅 07-07 👁️ 257
球球大作战糖果岛怎么玩 糖果岛可得奖励说明
office365无法登录激活

球球大作战糖果岛怎么玩 糖果岛可得奖励说明

📅 07-05 👁️ 7765