以下是在CentOS上部署LAMP(Linux, Apache, MySQL, PHP)环境的最佳实践,涵盖安装、配置、优化及安全等方面:
系统更新
sudo yum update -y
安装Apache
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
安装MySQL/MariaDB
sudo yum install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation # 设置root密码及安全选项
安装PHP及扩展
sudo yum install php php-mysql php-fpm php-gd php-mbstring -y
sudo systemctl restart httpd # 重启Apache加载PHP
/var/www/html/info.php,内容为<?php phpinfo(); ?>,通过浏览器访问验证。配置防火墙
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
系统级优化
/etc/sysctl.conf,如vm.swappiness=10(减少交换)、net.ipv4.tcp_tw_reuse=1(优化TCP连接)。noatime选项减少磁盘I/O。Apache优化
/etc/httpd/conf/httpd.conf:
MaxKeepAliveRequests(建议100-200)和KeepAliveTimeout(建议5-10秒)。mod_deflate压缩静态资源,或配置mod_ssl启用HTTPS。MySQL优化
/etc/my.cnf:
innodb_buffer_pool_size(建议设置为服务器内存的50%-70%)。query_cache_type=1,query_cache_size=64M。mysqlcheck --optimize --all-databases优化表。PHP优化
php.ini,设置opcache.enable=1。服务安全配置
httpd.conf中设置Options -Indexes。/etc/my.cnf,设置bind-address=127.0.0.1,仅允许可信IP连接。权限管理
chown -R apache:apache /var/www/html,目录权限设为755,文件权限设为644。mysqldump工具。安全工具
sudo setenforce 1,并配置安全策略。lynis或OpenVAS进行安全审计。自动化部署
监控与日志
top、htop、vmstat等工具。/etc/logrotate.d/httpd和/etc/logrotate.d/mysql-server,避免日志文件过大。firewalld测试后需根据需求开启)。以上实践综合自官方文档及社区经验,可根据实际业务需求调整。[1,2,3,4,5,6,7,8,9,10,11]