前期准备
- 域名注册
- 在阿里云、GoDaddy等平台购买域名(如
yourproject.com
)。
- 在阿里云、GoDaddy等平台购买域名(如
- 服务器要求
- Linux服务器(Ubuntu/CentOS等)
- 已部署项目(如Node.js应用、Python Django等)
- 公网IP地址(假设为
0.113.1
)
配置DNS解析
- 添加A记录
在域名管理后台操作:- 主机记录:(主域名)或
www
(子域名) - 记录类型:
A
- 记录值:服务器公网IP(如
0.113.1
) - TTL:默认300秒
👉 生效时间约10分钟~24小时
- 主机记录:(主域名)或
配置Web服务器(以Nginx为例)
步骤1:安装Nginx
# CentOS sudo yum install epel-release && sudo yum install nginx
步骤2:创建服务器配置文件
-
新建配置文件:
sudo nano /etc/nginx/sites-available/yourproject.com
-
写入配置(示例):
server { listen 80; server_name yourproject.com www.yourproject.com; # 绑定域名 root /var/www/yourproject; # 项目根目录 index index.html index.php; location / { try_files $uri $uri/ =404; # 反向代理示例(如Node.js应用): # proxy_pass http://localhost:3000; # proxy_set_header Host $host; } # 静态文件缓存 location ~* \.(jpg|css|js)$ { expires 30d; } }
步骤3:启用配置并重启Nginx
sudo ln -s /etc/nginx/sites-available/yourproject.com /etc/nginx/sites-enabled/ sudo nginx -t # 检查语法 sudo systemctl restart nginx
配置HTTPS(强制安全访问)
通过Certbot获取免费SSL证书
- 安装Certbot:
sudo apt install certbot python3-certbot-nginx # Ubuntu sudo yum install certbot python3-certbot-nginx # CentOS
- 自动配置HTTPS:
sudo certbot --nginx -d yourproject.com -d www.yourproject.com
- 按提示完成验证(需开放80/443端口)
- 证书自动续期:
sudo certbot renew --dry-run
验证配置
- 本地Hosts测试(临时)
在本地电脑修改Hosts文件:0.113.1 yourproject.com
访问
http://yourproject.com
检查是否生效。 - 在线工具检查
- DNS传播状态:使用 DNS Checker
- SSL证书: SSL Labs
常见问题解决
- 502 Bad Gateway
检查应用是否运行(如systemctl status your-app
)及Nginx的proxy_pass
端口。 - DNS未生效
等待48小时或联系域名注册商刷新DNS。 - HTTPS混合内容错误
确保网页内所有资源(图片/JS/CSS)使用https://
链接。
安全加固建议
- 防火墙设置:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable
- 禁用默认站点:
sudo rm /etc/nginx/sites-enabled/default
- 定期更新:
sudo apt update && sudo apt upgrade # Ubuntu sudo yum update # CentOS
配置项目域名需串联 DNS解析 → Web服务器绑定 → HTTPS加密 三个核心环节,完成部署后,定期监控服务状态并更新安全补丁,可保障项目长期稳定运行。
引用说明:本文操作基于Nginx官方文档、Let’s Encrypt Certbot指南及Linux服务器管理最佳实践,技术细节参考:
- Nginx Configuration
- Certbot Official Instructions
- Mozilla Web Security Guidelines.
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9548.html