走啊走
加油

2核4g服务器装lnmp和mysql?

服务器价格表

在一台 2核4G 的服务器上安装 LNMP(Linux + Nginx + MySQL + PHP) 是完全可行的,尤其适合中小型网站、博客、测试环境或轻量级应用。下面我为你详细介绍如何部署 LNMP 并优化 MySQL 配置以适应 2核4G 的资源限制。


✅ 一、环境准备

假设你使用的是 CentOS 7/8Ubuntu 20.04/22.04,这里以 Ubuntu 20.04 为例。

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 安装常用工具

sudo apt install wget curl vim git unzip -y

✅ 二、选择安装方式(推荐两种)

方式一:使用一键安装包(推荐新手)

推荐使用 LNMP.org 提供的一键安装脚本,简单高效。

1. 下载并运行 LNMP 一键安装包
wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz
tar zxvf lnmp1.9.tar.gz
cd lnmp1.9
2. 配置安装选项
./install.sh lnmp
  • 安装过程中会提示选择:
    • MySQL 版本:建议选 MySQL 5.7MariaDB 10.6(更省资源)
    • PHP 版本:推荐 PHP 7.4PHP 8.0
    • 是否启用 InnoDB:默认开启即可

⚠️ 注意:不要安装过多组件(如 PureFTPd、Redis 可后期按需添加)。


方式二:手动安装(适合进阶用户)

1. 安装 Nginx
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
2. 安装 MySQL(以 MySQL 8.0 为例)
sudo apt install mysql-server -y
sudo mysql_secure_installATION  # 设置 root 密码、删除匿名用户等
3. 安装 PHP(以 PHP 8.1 为例)
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
sudo systemctl enable php8.1-fpm
sudo systemctl start php8.1-fpm
4. 配置 Nginx 支持 PHP

编辑站点配置文件(如 /etc/nginx/sites-available/default),确保包含:

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}

重启 Nginx:

sudo nginx -t && sudo systemctl reload nginx

✅ 三、MySQL 优化(针对 2核4G)

默认 MySQL 配置可能占用较多内存,建议修改配置文件进行调优。

编辑 MySQL 配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 或 /etc/my.cnf(根据系统不同)

添加以下优化配置(适用于 2核4G)

[mysqld]
# 基础设置
port = 3306
bind-address = 127.0.0.1
skip-name-resolve
max_connections = 100

# 内存相关(关键)
key_buffer_size = 32M
max_allowed_packet = 64M
table_open_cache = 256
sort_buffer_size = 2M
net_buffer_length = 4K
read_buffer_size = 2M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 16M

# InnoDB 设置(主要引擎)
innodb_buffer_pool_size = 1G     # 推荐为总内存的 50%~70%,2G 可设 1G
innodb_log_file_size = 128M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
innodb_flush_method = O_DIRECT

# 其他
query_cache_type = 1
query_cache_size = 32M
tmp_table_size = 32M
max_heap_table_size = 32M

# 日志
log-error = /var/log/mysql/error.log
slow_query_log = 1
long_query_time = 2

保存后重启 MySQL

sudo systemctl restart mysql

✅ 四、资源监控与建议

1. 查看内存使用情况

free -h
htop  # 需要安装:apt install htop

2. 建议

  • 避免同时运行多个数据库或高负载服务

  • 启用 PHP OPcache 提升性能:

    opcache.enable=1
    opcache.memory_consumption=128
    opcache.max_accelerated_files=4000
    opcache.revalidate_freq=60

    配置文件路径:/etc/php/8.1/fpm/conf.d/10-opcache.ini

  • 可考虑加 swap 分区(如 1~2GB)防止内存溢出:

    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    echo '/swapfile none swap sw 0 0' >> /etc/fstab

✅ 五、部署网站示例(WordPress)

  1. 将网站文件放到 /var/www/html
  2. 创建数据库:
    CREATE DATABASE wp_db;
    CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'strong_password';
    GRANT ALL PRIVILEGES ON wp_db.* TO 'wp_user'@'localhost';
    FLUSH PRIVILEGES;
  3. 配置 Nginx 虚拟主机
  4. 访问域名完成安装

✅ 总结

项目 推荐配置
系统 Ubuntu 20.04 LTS / CentOS 7+
Nginx 1.18+
MySQL 5.7 / 8.0 或 MariaDB 10.6
PHP 7.4 / 8.0 / 8.1
内存优化 innodb_buffer_pool_size = 1G
适用场景 博客、企业站、小程序后端、测试环境

结论:2核4G 完全可以流畅运行 LNMP + MySQL,只要合理配置和优化即可。

如果你告诉我你要部署什么类型的网站(如 WordPress、Typecho、API 服务等),我可以提供更具体的配置建议。