奋斗
努力

2核2G服务器搭建lnmp环境?

云计算

在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(仅限必要场景)。

注意事项

  • 监控资源:使用htopfree -m等工具观察内存/CPU使用情况。
  • 静态站点:若无需PHP,可关闭PHP-FPM节省资源。
  • 容器化方案:考虑使用Docker单容器部署(如linuxserver/nginx镜像),资源更可控。

通过以上配置,2核2G服务器可稳定运行中小流量网站。高并发场景建议升级配置或启用CDN分担负载。

未经允许不得转载:云服务器 » 2核2G服务器搭建lnmp环境?