首页主机资讯centos lamp环境下如何部署网站

centos lamp环境下如何部署网站

时间2025-11-14 10:58:03发布访客分类主机资讯浏览438
导读:在 CentOS 上部署 LAMP 站点的标准流程 一 环境准备与组件安装 更新系统并安装组件(以 CentOS 7/8 为例,使用 yum/dnf): 更新与基础组件 sudo yum update -y 安装 Apache...

在 CentOS 上部署 LAMP 站点的标准流程


一 环境准备与组件安装

  • 更新系统并安装组件(以 CentOS 7/8 为例,使用 yum/dnf):
    • 更新与基础组件
      • sudo yum update -y
    • 安装 Apache HTTP Server
      • sudo yum install httpd -y
      • sudo systemctl start httpd & & sudo systemctl enable httpd
    • 安装 MariaDB(或 MySQL)
      • 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-gd php-mbstring php-xml -y
      • 如需 PHP-FPM(推荐用于并发与性能):sudo yum install php-fpm -y
  • 防火墙放行 HTTP/HTTPS
    • sudo firewall-cmd --permanent --add-service=http
    • sudo firewall-cmd --permanent --add-service=https
    • sudo firewall-cmd --reload
  • 验证安装
    • 访问服务器 IP 应看到 Apache 欢迎页
    • 查看版本:httpd -v;检查服务:systemctl status httpd mariadb

二 部署网站代码与目录权限

  • 选择站点目录(示例使用 /var/www/example.com/public_html
    • 创建目录与日志目录
      • sudo mkdir -p /var/www/example.com/{ public_html,logs}
    • 上传站点文件(如使用 scp/rsync/FTP
      • 示例:rsync -av ./src/ user@server:/var/www/example.com/public_html/
    • 设置所有权与权限(Apache 运行用户通常为 apache
      • sudo chown -R apache:apache /var/www/example.com
      • sudo find /var/www/example.com -type d -exec chmod 755 { } ;
      • sudo find /var/www/example.com -type f -exec chmod 644 { } ;
  • 创建测试页(确认 Web 与 PHP 正常)
    • echo “” | sudo tee /var/www/example.com/public_html/info.php
    • 浏览器访问:http://服务器IP/info.php(确认后建议删除该文件)

三 配置 Apache 虚拟主机与 PHP 处理模式

  • 方式一 模块模式(mod_php,简单)
    • 确认模块加载(通常已内置):cat /etc/httpd/conf.modules.d/php.conf
    • /etc/httpd/conf.d/example.com.conf 创建虚拟主机:
      • < VirtualHost *:80>
        • ServerName example.com
        • DocumentRoot /var/www/example.com/public_html
        • < Directory /var/www/example.com/public_html>
          • Options Indexes FollowSymLinks
          • AllowOverride All
          • Require all granted
        • ErrorLog /var/www/example.com/logs/error.log
        • CustomLog /var/www/example.com/logs/access.log combined
    • 检查语法并生效
      • sudo httpd -t & & sudo systemctl reload httpd
  • 方式二 PHP-FPM(推荐,性能更好)
    • 启用并启动 PHP-FPM
      • sudo systemctl enable --now php-fpm
    • 在虚拟主机中使用 FilesMatch + proxy_fcgi 处理 PHP
      • 在 内加入:
        • < FilesMatch .php$>
          • SetHandler “proxy:fcgi://127.0.0.1:9000”
    • 重载服务
      • sudo httpd -t & & sudo systemctl reload httpd
  • 访问测试
    • 浏览器访问:http://example.com(域名需已解析到服务器 IP)

四 数据库与站点初始化

  • 登录数据库并创建库与用户(示例)
    • mysql -u root -p
    • CREATE DATABASE example_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    • CREATE USER ‘example_user’@‘localhost’ IDENTIFIED BY ‘StrongPass!’;
    • GRANT ALL PRIVILEGES ON example_db.* TO ‘example_user’@‘localhost’;
    • FLUSH PRIVILEGES;
  • 应用配置
    • 将站点配置文件中的数据库 DB_NAME/DB_USER/DB_PASSWORD 指向上述库与用户
    • 如应用需要,导入初始数据(如 .sql 备份)
  • 安全建议
    • 生产环境避免使用 root 远程连接数据库
    • 限制数据库用户来源 IP,使用强密码与最小权限原则

五 常见问题与优化

  • SELinux 与权限
    • 如启用 SELinux,需确保目录上下文正确:
      • sudo semanage fcontext -a -t httpd_sys_content_t “/var/www/example.com(/.*)?”
      • sudo restorecon -R /var/www/example.com
    • 或临时调试:sudo setenforce 0(不建议长期关闭)
  • 日志与排错
    • 实时查看错误日志:tail -f /var/log/httpd/error_log
    • 语法检查:sudo httpd -t
  • 性能与安全优化
    • Apache:调整 MaxKeepAliveRequests/KeepAliveTimeout
    • MariaDB:根据内存调优 innodb_buffer_pool_size
    • PHP:启用 OPcache,仅保留必要扩展
  • HTTPS 与证书
    • 使用 Let’s Encrypt/Certbot 一键启用 HTTPS
      • sudo yum install certbot python2-certbot-apache -y
      • sudo certbot --apache -d example.com -d www.example.com
  • 维护与升级
    • 定期执行:sudo yum update -y
    • 备份策略:定期备份代码、数据库与配置文件

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


若转载请注明出处: centos lamp环境下如何部署网站
本文地址: https://pptw.com/jishu/747819.html
centos lamp如何更新系统补丁 centos lamp怎样安装mysql数据库

游客 回复需填写必要信息