centos

CentOS LAMP项目实战案例

小樊
40
2025-08-26 23:28:12
栏目: 智能运维

以下是一个基于CentOS的LAMP项目实战案例,涵盖环境搭建、应用部署及安全配置,以搭建简易电商网站为例:

一、环境准备

二、LAMP环境部署

  1. 安装Apache

    sudo yum install httpd -y
    sudo systemctl start httpd
    sudo systemctl enable httpd
    

    验证:浏览器访问服务器IP,显示“Apache默认页面”。

  2. 安装MariaDB(MySQL替代)

    sudo yum install mariadb-server mariadb -y
    sudo systemctl start mariadb
    sudo mysql_secure_installation  # 设置root密码并完成安全配置
    

    验证:登录MySQL mysql -u root -p,创建数据库 CREATE DATABASE shopdb;

  3. 安装PHP及扩展

    sudo yum install php php-mysql php-gd php-xml -y
    sudo systemctl restart httpd
    

    验证:在/var/www/html创建info.php,内容为<?php phpinfo(); ?>,访问http://IP/info.php查看PHP信息。

三、项目部署(以电商网站为例)

  1. 部署网站代码

    • 下载开源电商系统(如osCommerce),解压至/var/www/html/shop
      wget https://example.com/oscommerce.zip
      unzip oscmmerce.zip -d /var/www/html/shop
      chown -R apache:apache /var/www/html/shop
      
    • 配置数据库连接:修改shop/includes/configure.php,填入MySQL的DB_HOSTDB_USERDB_PASS
  2. 配置虚拟主机(可选)
    编辑/etc/httpd/conf.d/shop.conf

    <VirtualHost *:80>
        ServerName shop.example.com
        DocumentRoot /var/www/html/shop
        <Directory /var/www/html/shop>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    

    重启Apache生效:sudo systemctl restart httpd

四、安全加固

  1. 防火墙配置

    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
    
  2. 禁用不必要的模块
    编辑/etc/httpd/conf/httpd.conf,注释掉不需要的模块(如mod_rewrite仅在需要时启用)。

  3. 定期备份

    • 数据库备份:mysqldump -u root -p shopdb > /backup/shopdb_$(date +%F).sql
    • 代码备份:tar -czvf /backup/shop_$(date +%F).tar.gz /var/www/html/shop

五、优化与监控

参考来源

0
看了该问题的人还看了