centos lamp应用部署方法
CentOS LAMP应用部署流程
LAMP(Linux + Apache + MySQL + PHP)是经典的开源Web应用架构,适用于搭建动态网站(如WordPress、Drupal等)。以下是在CentOS系统上部署LAMP环境的详细步骤:
1. 系统准备
在开始安装前,需确保系统为最新状态,避免软件包冲突:
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
2. 安装Apache HTTP服务器
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…”),则说明安装成功。
3. 安装MySQL数据库
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远程登录、删除测试数据库。
4. 安装PHP及扩展
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
5. 验证PHP与MySQL连接
创建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通信正常。
6. 部署Web应用
将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
7. 安全加固(可选但推荐)
- 配置防火墙:允许HTTP(80端口)和HTTPS(443端口)流量:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload - 安装SSL证书:使用Let’s Encrypt免费获取SSL证书,启用HTTPS:
按提示完成证书安装,Apache会自动配置HTTPS重定向。sudo yum install certbot python3-certbot-apache -y sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
通过以上步骤,即可在CentOS系统上完成LAMP环境的部署,并运行PHP动态Web应用。部署完成后,可根据应用需求进一步优化配置(如调整PHP内存限制、开启OPcache等)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos lamp应用部署方法
本文地址: https://pptw.com/jishu/746032.html
