使用 2核2G 的服务器搭建 LNMP 环境(Linux + Nginx + MySQL/MariaDB + PHP)是完全可行的,尤其适合中小型网站、个人博客或测试环境。以下是详细的部署步骤和优化建议,确保在资源有限的情况下系统稳定运行。
✅ 一、环境准备
- 操作系统:推荐 Ubuntu 20.04/22.04 LTS 或 CentOS 7/8
- 服务器配置:2核 CPU,2GB 内存,至少 20GB 硬盘
- 用户权限:拥有
root或具有sudo权限的用户
✅ 二、安装 LNMP 组件(以 Ubuntu 为例)
1. 更新系统
sudo apt update && sudo apt upgrade -y
2. 安装 Nginx
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
测试访问:浏览器打开服务器 IP,应看到 “Welcome to nginx!”
3. 安装 MariaDB(轻量替代 MySQL)
sudo apt install mariadb-server mariadb-client -y
sudo systemctl enable mariadb
sudo systemctl start mariadb
运行安全脚本:
sudo mysql_secure_installation
按提示设置 root 密码、移除匿名用户等。
4. 安装 PHP 及常用扩展
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
推荐 PHP 版本:PHP 8.1 或 7.4(性能与兼容性平衡)
启动并启用 PHP-FPM:
sudo systemctl enable php8.1-fpm # 根据实际版本调整
sudo systemctl start php8.1-fpm
✅ 三、配置 Nginx 支持 PHP
编辑默认站点配置:
sudo nano /etc/nginx/sites-available/default
修改内容如下(关键部分):
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm;
server_name your_domain_or_ip;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
测试配置并重启 Nginx:
sudo nginx -t
sudo systemctl reload nginx
✅ 四、测试 PHP 是否正常工作
创建测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:http://your_server_ip/info.php
若显示 PHP 信息页面,则成功。
⚠️ 完成后删除 info.php 出于安全考虑:
sudo rm /var/www/html/info.php
✅ 五、性能优化建议(针对 2G 内存)
由于内存有限,需对服务进行调优:
1. 调整 MariaDB 配置(节省内存)
编辑配置文件:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
在 [mysqld] 段中添加或修改:
innodb_buffer_pool_size = 128M
key_buffer_size = 32M
max_connections = 50
query_cache_type = 1
query_cache_limit = 256K
query_cache_size = 16M
重启生效:
sudo systemctl restart mariadb
2. 调整 PHP-FPM
编辑:
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
修改为适合低内存的设置:
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
重启:
sudo systemctl restart php8.1-fpm
3. 添加 Swap(虚拟内存)
2G 内存建议添加 1~2GB Swap:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
永久挂载(写入 /etc/fstab):
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
✅ 六、可选:一键安装工具(省时)
如果你不想手动配置,可以使用成熟的一键包:
推荐方案:
- LNMP.org 一键安装包
wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz tar zxvf lnmp1.9.tar.gz cd lnmp1.9 ./install.sh lnmp自动优化,适合新手,支持自动申请 SSL。
✅ 七、部署网站示例(如 WordPress)
- 下载 WordPress 到
/var/www/html - 创建数据库和用户
- 配置 Nginx 支持伪静态(WordPress 规则)
- 使用 Let’s Encrypt 配置 HTTPS(推荐用 Certbot)
✅ 总结
| 项目 | 建议配置 |
|---|---|
| OS | Ubuntu 22.04 LTS |
| Web Server | Nginx |
| DB | MariaDB |
| PHP | 8.1 + FPM |
| 内存优化 | 调小进程数 + 添加 Swap |
| 适用场景 | 博客、企业站、小型电商等 |
✅ 在 2核2G 上运行 LNMP 是稳妥且高效的,只要合理调优,完全可以支撑日均几千到上万访问量的网站。
如有具体需求(如部署 WordPress、Typecho、API 服务等),可继续提问,我可以提供针对性配置。
ECLOUD博客