网站运行的基础环境是 LNMP(Linux + Nginx + MySQL + PHP)。本教程将教你如何在宝塔面板中安装、配置这些核心组件,并针对常见的性能瓶颈进行调整。
1. LNMP 是什么?
简单来说,这就是一台服务器支撑网站运行所需的“骨架”:
- Linux:操作系统(如 Debian、Ubuntu、Alpine)。
- Nginx:Web 服务器,负责接收用户的网页请求,并将请求转发给 PHP 处理。
- MySQL:数据库,负责存储网站的文章、用户信息等核心数据。
- PHP:后端脚本语言,负责处理业务逻辑,从 MySQL 里取数据,然后生成 HTML 页面交给 Nginx。
宝塔的优势: 宝塔面板(BT Panel)把这些组件的安装、配置可视化,让你不用手敲几百行命令就能搭建出完整的 LNMP 环境。
2. 安装基础环境
登录宝塔面板,首次进入时会弹出“推荐安装套件”的窗口。这里有两种安装方式:
| 安装方式 | 特点 | 适用场景 |
|---|---|---|
| LNMP (极速安装) | 下载预编译好的二进制包,安装速度快(几分钟),资源占用少。 | 强烈推荐新手选择。对于 99% 的网站性能完全足够。 |
| LNMP (编译安装) | 从源码开始编译,耗时极长(1-2 小时),配置灵活,但吃 CPU 和内存。 | 有特定定制需求的高手,或服务器配置极高的企业级项目。 |
如果没有弹出窗口,点击左侧菜单的“软件商店”,在“运行环境”中找到 LNMP 套件并点击安装。
3. MySQL 安装与配置
在选择 MySQL 版本时,需要注意你的服务器内存:
- 1核 1G 内存:建议选择
MySQL 5.6或MySQL 5.7,否则 MySQL 8.0 极容易导致内存溢出(OOM)服务器卡死。 - 2核 2G 及以上:建议选择
MySQL 5.7或MySQL 8.0。
注意: 如果你安装的是 MySQL 8.0,在连接旧版 PHP 程序(如老版 WordPress 插件)时,可能会因为默认的密码加密方式(caching_sha2_password)导致无法连接。需要在宝塔的 phpMyAdmin 中修改用户密码加密规则为
mysql_native_password。修改 MySQL 性能参数
默认配置下,MySQL 的性能并没有发挥到极致。在软件商店 -> 已安装 -> MySQL -> 设置 -> 配置修改 中,可以调整:
innodb_buffer_pool_size:建议设置为服务器总内存的 50% - 60%(如果是 2G 内存,设为 1024M)。max_connections:最大连接数,默认 151,如果网站出现“Too many connections”报错,可以适当调大(如 300)。
4. PHP 安装与扩展
PHP 的版本选择取决于你的程序要求。目前主流推荐 PHP 7.4(兼容性最好)或 PHP 8.0 / 8.1(性能最好)。
安装 PHP 后,为了满足不同的程序需求,必须安装相应的扩展。进入 PHP 的设置页面 -> 安装扩展,以下几个必装:
fileinfo:用于文件上传,几乎必装。opcache:PHP 代码缓存,能极大提升 PHP 执行速度。redis和memcached:如果你的程序(如 WP、Typecho)支持,安装后可做内存缓存。zip和mbstring:WordPress 等程序的必备扩展。
5. Nginx 配置要点
Nginx 是网站流量的第一道大门。在宝塔面板中,Nginx 的配置通常不需要手动修改,但你需要了解三个关键功能:
- 伪静态:当你的网站使用 PHP 框架(如 WordPress、ThinkPHP)时,URL 里是不带
.html的。必须开启伪静态,Nginx 才能正确将请求转发给 PHP,而不是报 404。 - 反向代理:如果你跑了一个 Node.js 或 Python 项目,Nginx 可以作为“流量交警”,把请求转发给本地的 3000 端口。
- SSL 配置:在 Nginx 中配置证书,实现 HTTPS 加密访问。
6. 性能调优与 PHP 设置
1修改上传文件大小限制
默认 PHP 只能上传 50MB 的文件,传大图或主题包会失败。在宝塔 PHP 设置 -> 配置修改 中,找到并修改:
php.ini
upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 300
2调整 PHP-FPM 进程数
如果网站访问量大,出现 502 Bad Gateway,多半是因为 PHP-FPM 进程池满了。在 PHP 设置 -> 性能调整 中,根据内存情况调高 pm.max_children 的值(比如 1G 内存可设为 20-30,2G 内存设为 50)。
3开启 Gzip 压缩
在 Nginx 站点设置中开启 Gzip,能减少 CSS、JS、HTML 文件的传输体积(通常能减少 60% 以上的体积),让网站打开速度肉眼可见地变快。
环境大功告成! 至此,你的服务器已经具备了支撑绝大多数动态网站(如 WordPress、Typecho、Discuz! 等)的能力。接下来,去 WP 教程 或宝塔的“一键部署”里,开始安装你的网站吧!