内容提要
本文指南介绍如何在DigitalOcean的$4 Droplet上部署静态网站,使用Nginx提供服务,Certbot管理TLS证书,并通过GitHub Actions实现自动部署。尽管有更简单的托管选项,自主管理服务器能提供更高的控制权。步骤包括创建Droplet、配置DNS、安装Nginx和Certbot,以及设置自动更新和安全配置,最后通过GitHub Actions实现网站自动更新。
关键要点
-
本文指南介绍如何在DigitalOcean的$4 Droplet上部署静态网站。
-
使用Nginx提供服务,Certbot管理TLS证书,并通过GitHub Actions实现自动部署。
-
自主管理服务器提供更高的控制权,适合不希望第三方管理DNS的用户。
-
创建Droplet前需要准备DigitalOcean和GitHub账户,以及SSH客户端和域名。
-
通过SSH密钥对安全访问Droplet,推荐使用SSH而非用户名和密码。
-
创建Droplet时选择合适的区域、操作系统和实例类型,并设置SSH密钥。
-
使用保留IP地址确保Droplet的IPv4地址不变,便于DNS更新。
-
更新DNS记录以指向Droplet的保留IP地址,确保网站可访问。
-
通过SSH连接到Droplet并启用防火墙,确保安全性。
-
安装并配置Nginx以提供网站服务,创建网站内容目录和配置文件。
-
使用Certbot安装TLS证书,确保网站通过HTTPS安全访问。
-
配置自动续订证书,确保证书在到期前自动更新。
-
添加安全响应头以增强网站安全性,防止各种网络攻击。
-
手动上传静态网站内容,后续可通过GitHub Actions实现自动部署。
-
使用GitHub Actions自动化网站更新,创建工作流以便于持续集成和交付。
-
将私钥添加为GitHub仓库的秘密,以便GitHub Actions访问服务器。
-
创建工作流文件以定义自动部署过程,确保每次推送代码时自动更新网站。