首页主机资讯Debian虚拟主机域名怎么设置

Debian虚拟主机域名怎么设置

时间2025-11-25 10:35:04发布访客分类主机资讯浏览929
导读:Debian 虚拟主机域名设置全流程 一 准备与DNS解析 准备网站目录与测试页 Apache 常用目录:/var/www/example.com Nginx 常用目录:/var/www/example.com 创建测试页: sudo...

Debian 虚拟主机域名设置全流程


一 准备与DNS解析

  • 准备网站目录与测试页
    • Apache 常用目录:/var/www/example.com
    • Nginx 常用目录:/var/www/example.com
      创建测试页:
      sudo mkdir -p /var/www/example.com
      echo “

      Welcome to example.com

      ” | sudo tee /var/www/example.com/index.html
  • 配置 DNS 解析(域名注册商控制台)
    • example.comwww.example.com 添加 A 记录 指向服务器公网 IPv4;如需 IPv6,再添加 AAAA 记录
    • 等待解析生效(取决于 TTL)。可用命令验证:
      dig +short example.com A
      dig +short www.example.com A
      nslookup example.com
      以上完成域名到服务器 IP 的指向,为后续虚拟主机配置打好基础。

二 使用 Apache 配置虚拟主机

  • 安装与启用模块
    sudo apt update & & sudo apt install apache2 -y
    sudo a2enmod rewrite
  • 创建站点配置
    sudo nano /etc/apache2/sites-available/example.com.conf
    示例配置:
    < VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com
    < Directory /var/www/example.com>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted

    ErrorLog ${ APACHE_LOG_DIR} /error.log
    CustomLog ${ APACHE_LOG_DIR} /access.log combined
  • 启用站点与重载
    sudo a2ensite example.com.conf
    sudo a2dissite 000-default.conf # 如不需要默认站点
    sudo apachectl configtest & & sudo systemctl reload apache2
  • 可选 HTTPS(Let’s Encrypt)
    sudo apt install certbot python3-certbot-apache -y
    sudo certbot --apache -d example.com -d www.example.com
    以上完成 Apache 基于域名的虚拟主机配置,并支持一键启用 HTTPS。

三 使用 Nginx 配置虚拟主机

  • 安装与创建站点配置
    sudo apt update & & sudo apt install nginx -y
    sudo nano /etc/nginx/sites-available/example.com
    示例配置:
    server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.html index.htm;
    location / {
    try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    location = /404.html { root /var/www/example.com; }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html { root /var/www/example.com; }
    }
  • 启用站点与重载
    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
    sudo nginx -t & & sudo systemctl reload nginx
  • 可选 HTTPS(Let’s Encrypt)
    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d example.com -d www.example.com
    以上完成 Nginx 基于域名的虚拟主机配置,并支持一键启用 HTTPS。

四 防火墙放行与常见问题排查

  • 防火墙放行
    • UFW:sudo ufw allow ‘Apache Full’(或 ‘Nginx Full’)
    • firewalld:sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload
  • 常见问题快速排查
    • 解析是否正确:dig +short example.com A,确认返回服务器 IP
    • 配置语法是否正确:Apache 用 sudo apachectl configtest;Nginx 用 sudo nginx -t。
    • 服务是否运行:sudo systemctl status apache2 或 sudo systemctl status nginx。
    • 查看错误日志:
      • Apache:sudo tail -f /var/log/apache2/error.log
      • Nginx:sudo tail -f /var/log/nginx/error.log
    • 确保域名与配置中的 ServerName/ServerAliasserver_name 完全一致(含 www 与否)。
      以上步骤可快速定位域名无法访问、配置不生效等常见问题。

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


若转载请注明出处: Debian虚拟主机域名怎么设置
本文地址: https://pptw.com/jishu/755329.html
SFTP配置中如何实现多用户管理 如何通过SFTP进行文件备份

游客 回复需填写必要信息