在2核2G的服务器上搭建LNMP(Linux + Nginx + MySQL + PHP)环境需要合理配置以避免资源耗尽。以下是分步指南和优化建议:
1. 系统准备(以Ubuntu/Debian为例)
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装基础工具
sudo apt install -y curl wget unzip
2. 安装Nginx
sudo apt install -y nginx
# 启动并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
优化建议:
- 修改
/etc/nginx/nginx.conf,减少工作进程数量(2核建议1-2个):worker_processes 1; events { worker_connections 1024; # 每个进程连接数 } - 禁用非必要模块(如
geoip)。
3. 安装MySQL(MariaDB替代)
sudo apt install -y mariadb-server
# 安全初始化
sudo mysql_secure_installation
优化建议:
- 编辑
/etc/mysql/mariadb.conf.d/50-server.cnf:[mysqld] innodb_buffer_pool_size = 128M # 关键:限制内存使用 max_connections = 50 # 减少并发连接数 skip-name-resolve # 禁用DNS解析 - 使用轻量级替代方案(如SQLite)若无需MySQL。
4. 安装PHP(选择轻量版本)
sudo apt install -y php-fpm php-mysql php-cli php-curl php-gd php-mbstring
# 验证PHP-FPM状态
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
优化建议:
- 编辑
/etc/php/7.x/fpm/php.ini(根据实际版本):memory_limit = 128M # 限制单脚本内存 max_execution_time = 30 # 缩短超时时间 opcache.enable=1 # 启用Opcache提速 - 调整PHP-FPM进程池(
/etc/php/7.x/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
5. 配置Nginx支持PHP
编辑站点配置文件(如/etc/nginx/sites-available/default):
server {
listen 80;
server_name _;
root /var/www/html;
index index.php index.html;
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
测试配置并重启Nginx:
sudo nginx -t
sudo systemctl restart nginx
6. 测试环境
创建PHP测试页:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
访问 http://服务器IP/info.php,确认LNMP正常运行。
7. 其他优化
- 防火墙:开放必要端口(80, 443)
sudo ufw allow 80/tcp sudo ufw enable - Swap分区:防止内存不足
sudo fallocate -l 1G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab - 日志轮转:避免日志占满磁盘
配置logrotate(/etc/logrotate.d/nginx)。
8. 可选组件
- 数据库管理:安装轻量级Adminer替代phpMyAdmin。
- 缓存:安装Redis或Memcached(仅限必要场景)。
注意事项
- 监控资源:使用
htop、free -m等工具观察内存/CPU使用情况。 - 静态站点:若无需PHP,可关闭PHP-FPM节省资源。
- 容器化方案:考虑使用Docker单容器部署(如
linuxserver/nginx镜像),资源更可控。
通过以上配置,2核2G服务器可稳定运行中小流量网站。高并发场景建议升级配置或启用CDN分担负载。
云服务器