基础概念
- 域名注册
通过阿里云、GoDaddy等注册商购买域名(example.com
)。 - DNS解析
将域名指向服务器IP(通过A记录或CNAME记录)。 - 服务器配置
在Linux服务器上设置Web服务(如Apache/Nginx)监听该域名。
配置步骤
步骤1:设置DNS解析
- 登录域名注册商控制台(如阿里云DNS管理)。
- 添加 A记录:
- 主机记录:(主域名)或
www
(子域名) - 记录值:服务器公网IP(如
0.2.1
) - TTL:默认600秒
示例:主机记录: @ 类型: A 记录值: 192.0.2.1 主机记录: www 类型: A 记录值: 192.0.2.1
- 主机记录:(主域名)或
- 等待DNS生效(通常10分钟~24小时),验证命令:
ping example.com # 检查是否解析到正确IP
步骤2:配置Web服务器(以Nginx为例)
-
安装Nginx:
# Ubuntu sudo apt update && sudo apt install nginx # CentOS sudo yum install epel-release && sudo yum install nginx
-
创建虚拟主机配置文件:
sudo nano /etc/nginx/conf.d/example.com.conf
写入以下内容(替换
example.com
和项目路径):server { listen 80; server_name example.com www.example.com; # 绑定的域名 root /var/www/example.com; # 网站根目录 index index.html; location / { try_files $uri $uri/ =404; } }
-
创建网站目录并测试页面:
sudo mkdir -p /var/www/example.com echo "Hello, example.com!" | sudo tee /var/www/example.com/index.html
-
重启Nginx生效:
sudo nginx -t # 检查配置语法 sudo systemctl restart nginx
步骤3:配置Apache(备选方案)
-
安装Apache:
sudo apt install apache2 # Ubuntu sudo yum install httpd # CentOS
-
创建虚拟主机文件:
sudo nano /etc/apache2/sites-available/example.com.conf ```示例: ```apache <VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
-
启用配置并重启:
sudo a2ensite example.com.conf # Ubuntu sudo systemctl restart apache2
高级配置
强制HTTPS(SSL证书)
- 使用Let’s Encrypt免费证书:
sudo apt install certbot python3-certbot-nginx # Ubuntu sudo certbot --nginx -d example.com -d www.example.com
证书自动续期:
sudo certbot renew --dry-run
配置子域名(如 blog.example.com
)
- DNS中添加A记录指向同一IP。
- 在Nginx/Apache中新建配置文件,将
server_name
改为子域名。
故障排查
- DNS未生效:
- 使用
dig example.com
检查解析结果。 - 本地DNS缓存刷新:
sudo systemd-resolve --flush-caches
(Linux)。
- 使用
- 服务器未响应:
- 检查防火墙是否放行80/443端口:
sudo ufw allow 80/tcp # Ubuntu sudo firewall-cmd --permanent --add-service={http,https} # CentOS
- 确认Web服务运行状态:
systemctl status nginx
。
- 检查防火墙是否放行80/443端口:
- 配置错误:
- Nginx检查:
sudo nginx -t
。 - Apache检查:
apachectl configtest
。
- Nginx检查:
安全建议
- 定期更新服务器:
sudo apt update && sudo apt upgrade
。 - 禁用未使用的服务:减少攻击面。
- 使用Fail2ban防暴力破解:
sudo apt install fail2ban # Ubuntu sudo systemctl enable fail2ban
正确配置域名需协调DNS解析与服务器设置,确保域名指向有效IP且Web服务监听请求,HTTPS加密已成为标准配置,建议通过Let’s Encrypt自动化部署,遇到问题时,优先检查DNS生效状态、端口连通性及服务日志(/var/log/nginx/error.log
)。
引用说明:本文操作基于Nginx/Apache官方文档及Let’s Encrypt最佳实践,适用于主流Linux发行版,防火墙命令参考UFW和Firewalld官方手册,DNS解析示例遵循ICANN标准。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7205.html