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

在一台 2核4G 的服务器上安装 LNMP(Linux + Nginx + MySQL + PHP)是完全可行的,但需要注意资源优化和配置调整,以确保服务运行稳定、响应快速。以下是一个详细的安装指南,适用于主流 Linux 发行版如 CentOS 7+/Debian 10+/Ubuntu 20.04+。


✅ 推荐环境

  • 系统:CentOS 7/8 或 Ubuntu 20.04 LTS(更推荐)
  • Web Server:Nginx
  • 数据库:MySQL 8.0 或 MariaDB
  • 后端语言:PHP-FPM(建议 PHP 7.4 或 8.0)

🧰 安装步骤

1. 更新系统软件包

Ubuntu/Debian:

sudo apt update && sudo apt upgrade -y

CentOS:

sudo yum update -y

2. 安装 Nginx

Ubuntu:

sudo apt install nginx -y

CentOS:

sudo yum install nginx -y

启动并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

3. 安装 MySQL / MariaDB

Ubuntu 安装 MySQL 8.0:

sudo apt install mysql-server -y
sudo mysql_secure_installation

CentOS 安装 MariaDB(更轻量):

sudo yum install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

4. 安装 PHP 及扩展

Ubuntu:

sudo apt install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-cli -y

启动 PHP-FPM:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

CentOS(需要 EPEL 和 Remi 源):

sudo yum install epel-release yum-utils -y
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-cli -y

启动 PHP-FPM:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

5. 配置 Nginx 支持 PHP

编辑默认站点配置文件:

Ubuntu 路径:

sudo nano /etc/nginx/sites-available/default

CentOS 路径:

sudo nano /etc/nginx/conf.d/default.conf

示例配置如下:

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

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

测试并重启 Nginx:

sudo nginx -t
sudo systemctl restart nginx

6. 测试 PHP 是否正常工作

创建测试文件:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

访问 http://你的IP地址/info.php 查看 PHP 信息页面。


⚙️ 性能优化建议(针对2核4G服务器)

1. MySQL 优化(/etc/my.cnf/etc/mysql/my.cnf

添加或修改以下参数:

[mysqld]
innodb_buffer_pool_size = 128M
max_connections = 100
query_cache_type = 1
query_cache_size = 16M
tmp_table_size = 32M
max_allowed_packet = 16M

重启 MySQL:

sudo systemctl restart mysql

2. PHP-FPM 优化(/etc/php/fpm/pool.d/www.conf

调整以下参数(根据负载):

pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 6

重启 PHP-FPM:

sudo systemctl restart php-fpm

🔒 安全建议

  • 使用防火墙限制访问(UFW/CentOS FirewallD)
  • 设置数据库强密码
  • 禁用 allow_url_include(除非必须)
  • 定期备份数据

📦 可选:使用 LNMP 一键安装包(适合新手)

如果你不想手动安装,可以使用 LNMP.org 提供的一键安装包:

wget -c https://soft.vpser.net/lnmp/lnmp1.9-full.tar.gz
tar zxpf lnmp1.9-full.tar.gz
cd lnmp1.9-full
./install.sh lnmp

它会自动安装 Nginx、MySQL、PHP 及其常见扩展,适合快速部署。


✅ 总结

组件 推荐版本
OS Ubuntu 20.04 LTS 或 CentOS 7+
Web Server Nginx
DB MySQL 8 或 MariaDB
PHP 7.4 或 8.0

在 2核4G 的服务器上,这套 LNMP 环境可以支持小型网站、博客、论坛等应用。如果流量较大,建议配合缓存(如 Redis、OPcache)来提升性能。


如果你有具体用途(比如部署 WordPress、Typecho、Discuz),我可以提供针对性优化方案。欢迎继续提问!

未经允许不得转载:云计算HECS » 2核4g服务器装lnmp和mysql?