首页主机资讯centos lamp如何部署动态网站

centos lamp如何部署动态网站

时间2025-11-26 13:08:03发布访客分类主机资讯浏览500
导读:在 CentOS 上部署 LAMP 动态网站的实操指南 一 环境准备与版本选择 操作系统建议:CentOS 7/8(本文以 CentOS 7.6 为例,亦适用于 CentOS 8)。 组件组合: Web 服务器:Apache httpd...

在 CentOS 上部署 LAMP 动态网站的实操指南

一 环境准备与版本选择

  • 操作系统建议:CentOS 7/8(本文以 CentOS 7.6 为例,亦适用于 CentOS 8)。
  • 组件组合:
    • Web 服务器:Apache httpd 2.4
    • 数据库:MariaDB 10.11(或 MySQL 8.4)。
    • 语言与驱动:PHP 8.3/8.4,建议启用 php-fpmphp-mysqlnd 驱动。
  • 资源与安全:
    • 建议实例内存≥ 4 GiB(便于 PHP/数据库运行)。
    • 云上需放行安全组/防火墙的 TCP 22/80/443/3306 端口;本地测试可临时关闭防火墙或放行 http/https

二 安装与启动 LAMP 基础组件

  • 安装 Apache
    • 命令:sudo yum install -y httpd & & sudo systemctl start httpd & & sudo systemctl enable httpd
    • 验证:浏览器访问 http://服务器IP 出现 Apache 欢迎页。
  • 安装 MariaDB(或 MySQL)
    • MariaDB(CentOS 7 常用):sudo yum install -y mariadb-server mariadb & & sudo systemctl start mariadb & & sudo systemctl enable mariadb
    • 安全初始化:sudo mysql_secure_installation(设置 root 密码、移除匿名用户、禁止远程 root 登录、删除测试库等)。
    • 如需 MySQL 8.4(CentOS 8 示例):添加官方源后 sudo dnf install -y mysql-server 并启动;首次登录按日志提示设置强密码。
  • 安装 PHP 与 PHP-FPM
    • Remi 源方式(推荐,便于选择版本):
      • CentOS 8:sudo rpm -Uvh https://mirrors.cloud.aliyuncs.com/remi/enterprise/remi-release-8.rpm --nodeps
      • 启用 PHP 模块:sudo dnf module enable -y php:remi-8.4
      • 安装组件:sudo dnf install -y php php-fpm php-mysqlnd
    • 启动服务:sudo systemctl start php-fpm & & sudo systemctl enable php-fpm
  • 说明
    • PHP 连接 MySQL 建议使用 mysqlnd 驱动;如应用需图片处理等,按需补充 php-gd 等扩展。

三 配置 Apache 与 PHP-FPM 协同

  • 确认 PHP-FPM 监听地址:sudo grep 'listen =' /etc/php-fpm.d/www.conf
    • 常见为 127.0.0.1:9000/run/php-fpm/www.sock
  • 配置 Apache 处理 PHP(推荐 Proxy 到 PHP-FPM)
    • 新建配置:sudo tee /etc/httpd/conf.d/php-fpm.conf < < -'EOF'
      <
          FilesMatch \.php$>
          
          SetHandler "proxy:unix:/run/php-fpm/www.sock;
          "
      <
          /FilesMatch>
          
      EOF`
      
    • 如监听为 9000 端口,将代理目标改为:proxy:fcgi://127.0.0.1:9000
  • 调整目录索引并重启
    • /etc/httpd/conf/httpd.confDirectoryIndex 后追加 index.php
    • 检查语法并重启:sudo httpd -t & & sudo systemctl restart httpd
  • 说明
    • 使用 PHP-FPM 可获得更好的进程管理与性能隔离;确保 Apache 与 PHP-FPM 使用一致的 Socket/端口

四 部署与验证动态网站

  • 放置代码
    • 示例目录:/var/www/html/(或自定义目录,需在虚拟主机中指定)。
    • 示例应用:解压 Discuz! 等 PHP 程序到站点目录,并设置目录属主为 apache:apache 以便写入缓存/上传。
  • 创建数据库与用户(示例)
    • 登录数据库:mysql -u root -p
    • 执行 SQL:
      CREATE DATABASE myapp DEFAULT CHARACTER SET utf8mb4;
          
      CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongPass!23';
          
      GRANT ALL PRIVILEGES ON myapp.* TO 'appuser'@'localhost';
          
      FLUSH PRIVILEGES;
          
      
  • 配置虚拟主机(可选,基于域名)
    • 新建:sudo vim /etc/httpd/conf.d/myapp.conf
      <
          VirtualHost *:80>
          
          ServerName www.myapp.test
          DocumentRoot /var/www/myapp/public
          <
          Directory /var/www/myapp/public>
          
              AllowOverride All
              Require all granted
          <
          /Directory>
      
          ErrorLog ${
      APACHE_LOG_DIR}
      /myapp_error.log
          CustomLog ${
      APACHE_LOG_DIR}
          /myapp_access.log combined
      <
          /VirtualHost>
          
      
    • 检查并重启:sudo httpd -t & & sudo systemctl restart httpd
  • 访问与初始化
    • 本地 hosts 解析或 DNS 指向服务器后,访问 http://www.myapp.test/install 完成安装向导。
    • 简单连通性测试(/var/www/html/test.php):
      <
          ?php
      $conn = new mysqli('localhost', 'appuser', 'StrongPass!23');
          
      if ($conn->
          connect_error) die("fail: " . $conn->
          connect_error);
          
      echo "success\n";
          
      
    • 浏览器访问 http://服务器IP/test.php 应返回 success

五 安全与运维要点

  • 加固数据库
    • 仅监听 127.0.0.1,禁止远程 root 登录;为应用创建最小权限专用账户;定期备份。
  • 启用 HTTPS
    • 使用 Let’s Encrypt/certbot 为域名签发免费证书,配置 HTTP→HTTPS 跳转HSTS
  • 防火墙与云安全组
    • 仅放行必要端口:22/80/443/3306;数据库端口(3306)建议仅内网访问。
  • 日志与监控
    • 关注 /var/log/httpd/error_logaccess_log/var/log/php-fpm/;设置 logrotate 与告警。
  • 备份与回滚
    • 定期备份网站目录与数据库(如 mysqldump),保留多份并按日期命名,便于快速回滚。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos lamp如何部署动态网站
本文地址: https://pptw.com/jishu/756618.html
centos lamp如何实现远程访问 centos lamp如何升级软件

游客 回复需填写必要信息