CentOS LAMP应用部署流程
LAMP(Linux + Apache + MySQL + PHP)是经典的开源Web应用架构,适用于搭建动态网站(如WordPress、Drupal等)。以下是在CentOS系统上部署LAMP环境的详细步骤:
在开始安装前,需确保系统为最新状态,避免软件包冲突:
sudo yum update -y # CentOS 7使用yum;CentOS 8及以上使用dnf
关闭不必要的服务(如防火墙、SELinux)以简化配置(生产环境需谨慎):
sudo systemctl stop firewalld && sudo systemctl disable firewalld # 关闭防火墙
sudo setenforce 0 # 临时关闭SELinux
sudo sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config # 永久关闭SELinux
Apache是LAMP中的Web服务器组件,负责处理HTTP请求:
sudo yum install httpd -y # 安装Apache
sudo systemctl start httpd # 启动服务
sudo systemctl enable httpd # 设置开机自启
验证安装:在浏览器中访问服务器IP地址(如http://192.168.1.100),若看到Apache默认欢迎页面(“Testing 123…”),则说明安装成功。
MySQL是LAMP中的关系型数据库,用于存储应用数据(CentOS 8及以上推荐使用MariaDB,兼容MySQL):
sudo yum install mariadb-server mariadb -y # CentOS 7/8均适用
sudo systemctl start mariadb # 启动服务
sudo systemctl enable mariadb # 设置开机自启
运行安全脚本,配置数据库安全参数:
sudo mysql_secure_installation
按提示操作:设置root用户密码、删除匿名用户、禁止root远程登录、删除测试数据库。
PHP是LAMP中的脚本语言,用于处理动态内容。需安装PHP核心及常用扩展(如MySQL连接、GD图形处理):
sudo yum install php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-curl php-xml -y # 安装PHP及扩展
sudo systemctl start php-fpm # 启动PHP-FPM(若使用Apache,需配置与PHP-FPM通信)
sudo systemctl enable php-fpm # 设置开机自启
配置Apache支持PHP:编辑Apache主配置文件,确保加载PHP模块并设置正确目录权限:
sudo vi /etc/httpd/conf/httpd.conf
找到以下行并取消注释(若未存在则添加):
LoadModule php_module modules/libphp.so # CentOS 7默认路径;CentOS 8可能为libphp7.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
修改默认DocumentRoot目录权限,允许Apache读取PHP文件:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
重启Apache使配置生效:
sudo systemctl restart httpd
创建PHP测试文件,验证PHP是否能正常解析及连接MySQL:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php # 测试PHP解析
在浏览器中访问http://服务器IP/info.php,若看到PHP信息页面(包含PHP版本、模块列表),则说明PHP安装成功。
进一步测试MySQL连接:创建index.php文件,添加以下代码(替换为实际数据库信息):
<?php
$servername = "localhost";
$username = "root";
$password = "your_root_password"; # 替换为MySQL root密码
$dbname = "test_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "数据库连接成功!";
$conn->close();
?>
访问http://服务器IP/index.php,若显示“数据库连接成功!”,则说明PHP与MySQL通信正常。
将Web应用文件上传至Apache的默认根目录(/var/www/html),或自定义目录(需修改Apache虚拟主机配置):
sudo chown -R apache:apache /var/www/html # 更改目录所有者(Apache用户为apache)
sudo chmod -R 755 /var/www/html # 设置目录权限
配置虚拟主机(可选):若需托管多个域名,可创建虚拟主机配置文件(如/etc/httpd/conf.d/example.conf):
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/html/example
<Directory /var/www/html/example>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
重启Apache使虚拟主机配置生效:
sudo systemctl restart httpd
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
sudo yum install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
按提示完成证书安装,Apache会自动配置HTTPS重定向。通过以上步骤,即可在CentOS系统上完成LAMP环境的部署,并运行PHP动态Web应用。部署完成后,可根据应用需求进一步优化配置(如调整PHP内存限制、开启OPcache等)。