一、服务器购买
- 1、阿里云:https://www.aliyun.com
- 2、腾讯云:https://cloud.tencent.com
二、Nginx安装(以Ubuntu系统为例)
- 1、连接进入服务器,可用Xshell、PowerShell、阿里云可用网页版命令终端 https://ecs-workbench.aliyun.com
- 2、
apt-get install nginx
- 3、
service nginx start
- 4、进入云服务器控制台,添加安全组规则,允许80端口,协议为TCP
- 5、Nginx主配置文件目录为
/etc/nginx/nginx.conf
,并会引入/etc/nginx/conf.d/
下所有 .conf 文件,在conf.d目录下创建对应工程的xxx.conf配置文件(也可直接修改/etc/nginx/nginx.conf
文件,需注意不要被默认的location配置覆盖) - 6、增加工程项目html文件的location匹配,用以访问html页面,大致配置内容如下:
server { listen 80; server_name 你的服务器ip 或 域名; root html文件路径; location / { root html文件路径; index index.html; } location ~ .*.(ttf|woff|webp|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ { expires max; if_modified_since off; add_header Last-Modified ""; etag off; } }
- 7、重新载入配置文件
nginx -s reload
- 8、浏览器输入服务器ip,即可查看配置的html页面
三、域名购买
- 1、阿里云:https://wanwang.aliyun.com
- 2、腾讯云:https://buy.cloud.tencent.com/domain
- 3、实名认证 → 审核 …
四、域名解析
- 1、xx云控制台 → DNSPod → DNS解析列表
- 2、添加一条新的解析,按提示填写即可,在『记录值』项中填写服务器ip地址
- 3、开启解析,浏览器输入域名,即可查看nginx配置的页面
五、SSL证书部署(以Nginx为例)
- 1、xx云控制台 → SSL证书 → 我的证书 → 购买/申请 → 下载Nginx类型证书
- 2、将证书文件(xx.crt)和私钥文件(xx.key)上传至服务器目录,如:
/usr/local/nginx/conf/cert
- 3、若为阿里云服务器,可使用ESC云助手发送文件至指定目录;也可用ftp、svn等上传文件
- 4、调整nginx.conf配置如下:
server { listen 443 ssl; #配置HTTPS的默认访问端口为443。 #如果使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。 ssl_certificate /etc/nginx/conf.d/cert/xx.crt; # 证书文件路径 ssl_certificate_key /etc/nginx/conf.d/cert/xx.key; # 私钥文件路径 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #表示使用的加密套件的类型。 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。 ssl_prefer_server_ciphers on; server_name 你的域名; root html文件路径; location / { root html文件路径; index index.html; } location ~ .*.(ttf|woff|webp|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ { expires max; if_modified_since off; add_header Last-Modified ""; etag off; } }
- 5、
nginx -s reload
#重新载入配置文件 - 6、进入云服务器控制台,添加安全组规则,允许443端口,协议为TCP
- 7、访问
https://yourdomain.com
即可安全访问html - 8、设置http请求临时重定向至https(可选项)
server { listen 80; rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。 }
References
[1] 从0开始搭建自己的个人网站
[2] 在Nginx服务器上安装证书