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

使用 2核2G 的服务器搭建 LNMP 环境(Linux + Nginx + MySQL/MariaDB + PHP)是完全可行的,尤其适合中小型网站、个人博客或测试环境。以下是详细的部署步骤和优化建议,确保在资源有限的情况下系统稳定运行。


✅ 一、环境准备

  • 操作系统:推荐 Ubuntu 20.04/22.04 LTSCentOS 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)

  1. 下载 WordPress 到 /var/www/html
  2. 创建数据库和用户
  3. 配置 Nginx 支持伪静态(WordPress 规则)
  4. 使用 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博客 » 2核2G服务器搭建lnmp环境?