LAMP环境中Linux系统的管理方法
用户是Linux系统的基础,合理的用户与权限管理能有效保障系统安全。
sudo adduser username创建新用户(提示设置密码及个人信息);sudo deluser username删除用户(自动移除主目录和邮件);sudo usermod -l newusername oldusername修改用户名,sudo usermod -d /new/home/directory -m newusername修改主目录(-m保留原数据),sudo usermod -aG groupname username将用户添加到指定组。chmod设置文件/目录权限(如chmod 755 filename赋予所有者读写执行、组和其他用户读执行权限;chmod u+x filename给所有者添加执行权限);目录权限通常设为755(允许访问)或700(仅所有者可访问)。使用setfacl和getfacl配置访问控制列表(ACL),实现更细粒度的权限控制(如sudo setfacl -m u:username:rwx /path/to/directory给特定用户添加读写执行权限)。sudo groupadd groupname创建组,sudo groupdel groupname删除组,sudo usermod -aG groupname username将用户添加到组(-a表示追加,避免移除原有组)。ssh-keygen -t rsa -b 4096,默认保存在~/.ssh目录);将公钥复制到远程服务器(ssh-copy-id username@remote_host),实现免密码登录,提升安全性。定期更新系统及软件包是修复安全漏洞、保持系统稳定的关键。
sudo apt update更新软件包列表,sudo apt upgrade升级所有可用的软件包;CentOS/RHEL系统使用sudo yum update完成相同操作。/etc/apt/apt.conf.d/20auto-upgrades文件,添加APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";,启用自动更新(需重启apt服务:sudo systemctl restart apt)。sudo apt clean删除本地缓存的旧软件包,sudo apt autoremove移除不再需要的依赖包,释放磁盘空间。LAMP环境的核心服务(Apache、MySQL/MariaDB、PHP)需正确配置与管理,确保服务稳定运行。
systemctl命令管理服务状态:sudo systemctl start httpd(CentOS)/sudo systemctl start apache2(Ubuntu)启动Apache,sudo systemctl stop httpd停止,sudo systemctl restart httpd重启;sudo systemctl enable httpd设置开机自启。httpd.conf或apache2.conf中的参数,如MaxKeepAliveRequests(最大保持连接数,默认100,可根据并发量调整至200-500)、KeepAliveTimeout(保持连接超时时间,默认5秒,可调整为2-3秒),减少频繁建立连接的开销。my.cnf配置,如innodb_buffer_pool_size(InnoDB缓冲池大小,建议设置为物理内存的50%-70%,提升数据库读写性能)、query_cache_size(查询缓存大小,适用于读多写少的场景)。xdebug,仅在调试时使用),减少内存占用;启用Opcode缓存(如OPcache,opcache.enable=1),提升PHP脚本执行效率。Linux系统的安全性直接影响LAMP环境的稳定性,需采取多重措施防范风险。
ufw(Ubuntu)或firewalld(CentOS)管理防火墙规则。例如,Ubuntu下sudo ufw allow 22/tcp允许SSH连接,sudo ufw allow 80/tcp允许HTTP,sudo ufw allow 443/tcp允许HTTPS,最后sudo ufw enable启用防火墙。Enforcing模式(setenforce 1),可防止恶意进程越权访问系统资源;若遇到权限问题,可通过audit2allow工具生成自定义策略。/etc/ssh/sshd_config文件,禁用root远程登录(PermitRootLogin no),限制登录IP(AllowUsers username@ip_address),使用密钥认证替代密码认证(PasswordAuthentication no),提升SSH安全性。apticron),或在测试环境验证补丁后再部署到生产环境。监控系统状态、分析日志是及时发现和解决问题的关键。
top(实时显示进程CPU/内存使用率)、htop(增强版top,支持鼠标操作)、vmstat(报告虚拟内存、CPU、磁盘IO等统计信息)、iostat(监控磁盘IO性能)等工具,定期检查系统资源使用情况,识别瓶颈(如CPU过高可能是PHP脚本问题,内存不足可能需要增加交换分区)。logrotate工具自动轮转日志文件(如Apache的access.log和error.log),避免日志文件过大占用磁盘空间。默认配置文件位于/etc/logrotate.conf,可自定义轮转周期(如每天)、保留数量(如7天)等。error.log(/var/log/apache2/error.log或/var/log/httpd/error_log)和MySQL的error.log(/var/log/mysql/error.log),查找错误信息(如404 Not Found、数据库连接失败);使用tail -f /var/log/auth.log(Ubuntu)或tail -f /var/log/secure(CentOS)实时监控登录日志,及时发现异常登录行为。定期备份系统和数据是应对灾难性故障的最后防线。
tar(sudo tar -czvf /backup/lamp_backup_$(date +%Y-%m-%d).tar.gz --exclude=/proc --exclude=/sys --exclude=/dev /)备份整个系统(排除虚拟文件系统),使用rsync(rsync -avz /var/www/html /backup/html_backup)备份网站数据,使用mysqldump(mysqldump -u root -p --all-databases > /backup/all_databases.sql)备份MySQL数据库。