在一台 1核1GB内存 的服务器上安装 LAMP(Linux + Apache + MySQL + PHP) 是完全可行的,但需要注意资源优化,以避免内存不足导致服务崩溃。以下是详细步骤和优化建议:
✅ 一、环境准备
- 操作系统:推荐使用 Ubuntu 20.04/22.04 或 CentOS 7/8(这里以 Ubuntu 20.04 为例)
- 服务器配置:1核CPU、1GB内存、至少10GB磁盘
- 用户权限:具有
sudo权限
✅ 二、安装 LAMP 组件
1. 更新系统
sudo apt update && sudo apt upgrade -y
2. 安装 Apache
sudo apt install apache2 -y
启动并设置开机自启:
sudo systemctl enable apache2
sudo systemctl start apache2
验证:浏览器访问服务器IP,应看到 Apache 默认页面。
3. 安装 MySQL(推荐 MariaDB,更轻量)
sudo apt install mariadb-server mariadb-client -y
安全初始化(设置密码、移除匿名用户等):
sudo mysql_secure_installation
按提示操作:
- 设置 root 密码
- 移除匿名用户
- 禁止 root 远程登录
- 移除 test 数据库
- 重载权限
4. 安装 PHP
sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
测试 PHP 是否正常:
php -v
创建测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
访问 http://你的IP/info.php,应看到 PHP 信息页。
✅ 三、优化建议(针对 1GB 内存)
由于内存有限,需优化服务配置:
1. 使用轻量数据库配置(MariaDB)
编辑配置文件:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
在 [mysqld] 部分添加或修改:
key_buffer_size = 16M
max_connections = 50
query_cache_size = 16M
table_open_cache = 64
sort_buffer_size = 64K
read_buffer_size = 64K
join_buffer_size = 64K
tmp_table_size = 16M
max_heap_table_size = 16M
重启 MySQL:
sudo systemctl restart mariadb
2. 优化 Apache(使用 prefork 模块)
编辑:
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
修改为适合低内存的配置:
<IfModule mpm_prefork_module>
StartServers 1
MinSpareServers 1
MaxSpareServers 3
ServerLimit 5
MaxRequestWorkers 5
MaxConnectionsPerChild 1000
</IfModule>
启用模块并重启:
sudo a2enmod mpm_prefork
sudo a2dismod mpm_event # 关闭 event 模块
sudo systemctl restart apache2
3. 添加 Swap(虚拟内存)
1GB 内存容易不足,建议添加 1GB 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
✅ 四、部署网站(可选)
将你的网站文件上传到 /var/www/html/,或创建虚拟主机。
示例创建虚拟主机:
sudo nano /etc/apache2/sites-available/your-site.conf
内容:
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/html/your-site
<Directory /var/www/html/your-site>
AllowOverride All
</Directory>
</VirtualHost>
启用站点:
sudo a2ensite your-site.conf
sudo systemctl reload apache2
✅ 五、安全建议
- 防火墙:启用
ufw,仅开放 80 和 22 端口sudo ufw allow ssh sudo ufw allow 'Apache' sudo ufw enable - 定期更新系统和软件
- 删除
info.php测试文件(暴露敏感信息)
✅ 总结
| 项目 | 推荐配置 |
|---|---|
| OS | Ubuntu 20.04 LTS |
| Web Server | Apache(优化后) |
| DB | MariaDB(轻量) |
| PHP | 7.4 或 8.1 |
| Swap | 添加 1GB |
| 适用场景 | 小型网站、博客、测试环境 |
⚠️ 注意:1GB 内存不适合高并发或大型应用,建议配合缓存(如 OPcache)和 CDN 使用。
如需一键安装,可使用 Webmin、宝塔面板(Lite) 或 Docker 镜像,但面板本身会占用更多内存,需谨慎选择。
需要我提供“一键安装脚本”或“宝塔面板安装指南”吗?
CLOUD技术博