1、购买云服务器
我购买的是阿里云ECS(2核2G),具体购买流程这里不做过多讲解。
注意:中国大陆的阿里云服务器(套餐为3个月以上),想要使用域名访问服务器需要备案,低于3个月使用期的服务器不可以备案(不可以使用域名访问),我购买的是7天有效期,服务器地址为中国香港,这样可以省去备案步骤。
购买完毕,记得把安全组(80,443)进行开放,为后续操作做好准备:
2、注册域名
访问阿里云官网首页,进行域名注册购买,步骤如下:
- 点击域名与网站 Domains
- 点击域名注册
- 查询注册
- 注册购买
该步骤信息敏感,省略…
3、申请 SSL 证书
-
点击数字证书管理服务(SSL证书)
-
点击立即购买
-
点击证书申请
-
点击提交申请(SSL证书和域名进行绑定)
-
点击 解析设置,为域名添加DNS云解析(域名和IP进行绑定)
-
填写 解析设置
-
大约5分钟,阿里云通过短信通知:您为域名购买的SSL证书已签发成功,审核完成!
4、安装 Docker
- 首先,安装Docker,参考该文章第1节,按流程操作即可:
https://blog.csdn.net/weixin_46594796/article/details/122750009
5、安装 Nginx
- 创建挂载目录
mkdir -p /usr/local/nginx/{conf,html,logs,ssl}
- 下拉Nginx镜像
docker pull nginx
- 启动Nginx容器
docker run --name nginx -p 80:80 -d nginx
- 容器中nginx.conf和conf.d复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/
docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/
- 删除容器,重启Nginx
# 停止容器
docker stop nginx
# 删除容器
docker rm nginx
6、整合 SSL 证书
-
下载 SSL 证书
-
将下载好的 SSL 证书上传到服务器中
-
将下载好的 SSL 证书放到
/usr/local/nginx/ssl
下
mv 9876237_www.xuzhibin.top.key /usr/local/nginx/ssl
mv 9876237_www.xuzhibin.top.pem /usr/local/nginx/ssl
- 修改 default.conf 文件
# 编辑 default.conf 文件
vim /usr/local/nginx/conf.d/default.conf
配置内容为:
server {
listen 80;
listen [::]:80;
server_name 你的域名;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443 ssl;
server_name 你的域名;
ssl_certificate /etc/nginx/ssl/你的pem证书;
ssl_certificate_key /etc/nginx/ssl/你的key证书;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
- 创建Nginx访问首页
cd /usr/local/nginx/html
echo "Hello XuZhiBin Success!!!!" > index.html
- 启动 Nginx 容器
docker run \
--name nginx \
-p 443:443 -p 80:80 \
-v /usr/local/nginx/logs:/var/log/nginx \
-v /usr/local/nginx/html:/usr/share/nginx/html \
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/conf.d:/etc/nginx/conf.d \
-v /usr/local/nginx/ssl:/etc/nginx/ssl/ \
--privileged=true -d --restart=always nginx
- 输入域名,访问成功!