商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > CentOSLAMP如何管理虚拟主机

CentOSLAMP如何管理虚拟主机

  发布于2026-08-22 阅读(0)

扫一扫,手机访问

CentOS LAMP虚拟主机管理指南:打造高效稳定的Web环境

CentOSLAMP如何管理虚拟主机

一、环境搭建与基础服务配置

  • 更新系统并安装组件(以 CentOS 7/8yum/dnf 为例):
    • 安装:sudo yum install -y httpd mariadb-server php php-mysqlnd
    • 启动与开机自启:
      • sudo systemctl start httpd && sudo systemctl enable httpd
      • sudo systemctl start mariadb && sudo systemctl enable mariadb
    • 数据库安全初始化:sudo mysql_secure_installation
  • 防火墙放行(推荐不关闭防火墙):
    • sudo firewall-cmd --permanent --zone=public --add-service=http
    • sudo firewall-cmd --permanent --zone=public --add-service=https
    • sudo firewall-cmd --reload
  • SELinux 处于 enforcing 时,后续目录与端口访问需按 SELinux 策略放行(见第四部分)。

二 创建与启用虚拟主机

  • 规划目录(示例以域名 example.com 为例):
    • 创建目录:sudo mkdir -p /var/www/example.com/public_html
    • 简单首页:echo “Hello example.com” | sudo tee /var/www/example.com/public_html/index.html
    • 权限设置:sudo chown -R apache:apache /var/www/example.com && sudo chmod -R 755 /var/www/example.com
  • 新建虚拟主机配置(文件命名建议与域名一致,放在 /etc/httpd/conf.d/):
    • 新建:sudo vi /etc/httpd/conf.d/example.com.conf
    • 示例配置(HTTP,端口 80):

      ServerName www.example.com
      ServerAlias example.com
      DocumentRoot /var/www/example.com/public_html


      Options FollowSymLinks
      AllowOverride All
      Require all granted


      ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
      CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
  • 使配置生效:
    • 语法检查:sudo httpd -t
    • 重载或重启:sudo systemctl reload httpd(或 restart
  • 说明:
    • /etc/httpd/conf.d/*.conf 会被主配置自动包含,无需额外“启用”步骤;不建议创建 /etc/httpd/sites-enabled 的符号链接(那是 Debian/Ubuntu 的习惯)。

三 常用管理操作

  • 新增站点:按“二”的步骤为新域名重复创建目录与 .conf 文件,执行 httpd -t && systemctl reload httpd
  • 临时停用站点:在对应 块内添加 ServerName example.comDocumentRoot 同级行的 # 注释,或改为监听不同端口后不对外发布;保存后 reload
  • 彻底删除站点:删除 /etc/httpd/conf.d/example.com.conf,必要时删除网站目录,执行 reload
  • 修改站点根目录或别名:更新 DocumentRoot/ServerAlias,确保目录存在且权限为 apache:apache 755,再 reload
  • 日志查看与排错:
    • 访问日志:/var/log/httpd/example.com-access.log
    • 错误日志:/var/log/httpd/example.com-error.log
    • 语法与服务状态:httpd -tsystemctl status httpd
  • 本地测试(无公网域名时):在客户端或服务器本机编辑 /etc/hosts
    • 添加:服务器IP www.example.com example.com
    • 浏览器访问:http://www.example.com

四 安全与进阶配置

  • 启用 HTTPS(推荐 Let’s Encrypt,使用 certbot):
    • 安装 certbot 插件(按系统启用 EPEL 后):sudo yum install -y certbot python3-certbot-apache
    • 获取并自动配置证书:sudo certbot --apache -d example.com -d www.example.com
    • 自动续期测试:sudo certbot renew --dry-run
  • 目录与文件权限要点:
    • 网站目录属主:apache:apache;权限 755;上传目录可 775 并限制脚本执行。
    • 若使用非默认目录(如 /web、家目录等),需为 httpd 授予访问权限(SELinux 布尔或上下文,见下条)。
  • SELinux 常见处理(保持 enforcing 的前提下):
    • 允许 Apache 访问自定义目录(示例):sudo setsebool -P httpd_read_user_content 1
    • 若需连接数据库:sudo setsebool -P httpd_can_network_connect_db 1
    • 查看与恢复默认布尔:getsebool httpd_read_user_contentrestorecon -R /var/www
  • PHP 与性能:
    • 常用模块:php php-mysqlnd php-gd php-fpm(按应用需求增减)
    • 重载服务:sudo systemctl reload httpd(或 php-fpm)。
本文转载于:https://www.yisu.com/ask/35514108.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注