做網(wǎng)站簡單嗎百度后臺管理
文章目錄
- 1.前提說明
- 2.服務(wù)器安裝 docker 與 nginx
- 2.1 安裝 docker
- 🍀 基于 centos 的安裝
- 🍀 基于ubuntu
- 2.2 配置阿里云國內(nèi)加速器
- 🍀 找到相應(yīng)頁面
- 🍀 創(chuàng)建 docker 目錄
- 🍀 創(chuàng)建 daemon.json 文件
- 🍀 重新加載服務(wù)配置文件
- 🍀 重啟 docker 引擎
- 2.3 安裝 nginx
- 🍀 創(chuàng)建文件夾
- 🍀 創(chuàng)建 nginx 配置文件
- 🍀 創(chuàng)建 nginx
- 3.免費 SSL 證書申請
- 3.1 SSL 證書概述
- 3.2 將想綁定證書的域名加入 DNS 解析
- 3.3 提交證書申請
- 🍀 定位控制臺
- 🍀 開始申請免費證書
- 🍀 提交證書申請
- 3.4 驗證域名
- 🍀 在服務(wù)器上創(chuàng)建驗證文件
- 🍀 驗證域名所屬權(quán)
- 🍀 審核通過
- 4.https 網(wǎng)站部署
- 4.1 證書上傳到服務(wù)器
- 🍀 證書下載
- 🍀 修改文件名
- 🍀 上傳到服務(wù)器
- 4.2 修改 nginx.conf 配置文件
- 4.3 添加 index.html
- 4.4 測試 https
- 5.總結(jié)
- 5.1 你可能遇到的問題
- 5.2 靜態(tài)網(wǎng)站的部署
1.前提說明
這里我以在 騰訊云 的操作為例進(jìn)行演示,對域名 note.zhulang.love
進(jìn)行 https 升級訪問,每一步操作均以文字、截圖或與代碼形式進(jìn)行了說明。
我們需要準(zhǔn)備:
- 一臺騰訊云服務(wù)器,為了方便,建議你把防火墻所有端口開放(至少保證 80 與 443 端口的開放);
- 擁有自己的域名,并且已經(jīng)完成了備案。
關(guān)于網(wǎng)站部署,本文中我會在服務(wù)器使用 docker 安裝 nginx 1.24,并在 nginx 中安裝 SSL 證書,同時我會寫一個簡單的 index.html 模擬我們的網(wǎng)站。
2.服務(wù)器安裝 docker 與 nginx
2.1 安裝 docker
🍀 基于 centos 的安裝
-
安裝yum-utils
sudo yum install -y yum-utils
-
從國內(nèi)服務(wù)器上下載docker
sudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
安裝docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-
驗證是否成功
sudo docker --version
🍀 基于ubuntu
-
安裝需要的包
sudo apt-get update
-
安裝依賴包,選擇
y
sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common
-
添加 阿里 GPG 密鑰
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
-
設(shè)置遠(yuǎn)程倉庫
sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) \stable"
-
安裝 Docker-CE
sudo apt-get update# 選擇 y sudo apt-get install docker-ce docker-ce-cli containerd.io
-
驗證是否成功
sudo docker --version
2.2 配置阿里云國內(nèi)加速器
國內(nèi)鏡像中心常用的為阿里云與網(wǎng)易云,選擇其中一個加速器進(jìn)行配置即可,這里我們選擇使用阿里云加速器。在本地 Docker 中指定要使用的國內(nèi)加速器地址后,就可以直接從國內(nèi)鏡像中心下載鏡像了。
🍀 找到相應(yīng)頁面
若要配置阿里云加速器,必須首先要有阿里云的賬號。登錄阿里云后,打開阿里云的容器鏡像服務(wù)頁面,然后找到如下頁面,可以查看到你的 registry-mirrors
。
🍀 創(chuàng)建 docker 目錄
sudo mkdir -p /etc/docker
🍀 創(chuàng)建 daemon.json 文件
注意,該 json 數(shù)據(jù)中的 URL 地址是與用戶登錄賬號綁定的,不同的用戶所生成的地址是不同的。
sudo vim /etc/docker/daemon.json
將你的阿里云賬號的 registry-mirrors
替換以下的值,放入 daemon.json 中:
{"registry-mirrors": ["https://********.mirror.aliyuncs.com"]
}
🍀 重新加載服務(wù)配置文件
sudo systemctl daemon-reload
🍀 重啟 docker 引擎
sudo systemctl restart docker
2.3 安裝 nginx
🍀 創(chuàng)建文件夾
# 創(chuàng)建 nginx 用于數(shù)據(jù)卷的文件夾與存放用于驗證域名獲取 SSL 證書的文件
sudo mkdir -p /app/nginx/html/.well-known/pki-validation/# 創(chuàng)建用于存放 ssl 證書的文件夾
sudo mkdir /app/nginx/ssl# 添加權(quán)限,方便上傳網(wǎng)站項目
sudo chmod 777 /app/nginx/html# 添加權(quán)限,方便上傳 ssl 證書
sudo chmod 777 /app/nginx/ssl
🍀 創(chuàng)建 nginx 配置文件
# 這個 nginx 文件的配置只是臨時的,用于驗證域名以申請 SSL 證書
sudo vim /app/nginx/nginx.conf
#user root;
error_log /var/log/nginx/error.log notice;
worker_processes 1;pid /var/run/nginx.pid;events {worker_connections 1024;
}
http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;gzip on;gzip_types application/javascript; server {listen 80;# 可進(jìn)行域名綁定server_name localhost;location / {root html;index index.html index.htm;}}
}
🍀 創(chuàng)建 nginx
sudo docker run \
--name nginx \
-v /app/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /app/nginx/html:/etc/nginx/html \
-v /app/nginx/ssl:/etc/nginx/ssl \
-p 443:443 \
-p 80:80 \
-d nginx:1.24
# 驗證創(chuàng)建并運行成功
sudo docker ps
3.免費 SSL 證書申請
3.1 SSL 證書概述
SSL 證書(SSL Certificates)提供了安全套接層(SSL)證書的一站式服務(wù),包括證書申請、管理及部署功能,與頂級的數(shù)字證書授權(quán)(CA)機(jī)構(gòu)和代理商合作,為您的網(wǎng)站、移動應(yīng)用提供 HTTPS 解決方案。
個人賬號原來最多只能申請20張免費證書,現(xiàn)在個人賬號最多可申請50張免費證書(其中20張免費證書支持綁定全網(wǎng)域名,30張免費證書可綁定騰訊云域名)。
3.2 將想綁定證書的域名加入 DNS 解析
🏠 我的解析 - 云解析 DNS - 控制臺 (tencent.com)
💭 這里我想綁定的域名是 note.zhulang.love
3.3 提交證書申請
🍀 定位控制臺
🏠 我的證書 - SSL 證書 - 控制臺 (tencent.com)
如果你從未申請過,那么顯示應(yīng)該如下圖:
如果你申請過,那么顯示應(yīng)該如下圖:
🍀 開始申請免費證書
🍀 提交證書申請
3.4 驗證域名
🍀 在服務(wù)器上創(chuàng)建驗證文件
# 你需要修改 E16F38EDEA0071179D4B78CBE5E55B6E.txt 為上圖中你的文件名
sudo vim /app/nginx/html/.well-known/pki-validation/E16F38EDEA0071179D4B78CBE5E55B6E.txt
將文件內(nèi)容放入到 E16F38EDEA0071179D4B78CBE5E55B6E.txt 文件中,我這里是:
0BE098CC9804A183E3E95E82F215DE3501F4FFF30950F518A366874A8EB601E0
trust-provider.com
cmcdtcvpl0q5ln
🍀 驗證域名所屬權(quán)
🍀 審核通過
4.https 網(wǎng)站部署
4.1 證書上傳到服務(wù)器
🍀 證書下載
紅色框框中的兩個文件 .key
與 .crt
是我們需要上傳到服務(wù)器的。
🍀 修改文件名
為了方便演示,我們將需要上傳的服務(wù)器的 .key
與 .crt
文件分別重命名為 ssl.key
與 ssl.crt
。
🍀 上傳到服務(wù)器
我們將 ssl.key
與 ssl.crt
都上傳到 /app/nginx/ssl
目錄下。
4.2 修改 nginx.conf 配置文件
# 先直接刪除原來的 nginx.conf
sudo rm /app/nginx/nginx.conf# 創(chuàng)建新的
sudo vim /app/nginx/nginx.conf
下面是 nginx.conf 的內(nèi)容,你只需要修改一下兩個 server
塊中的 server_name
的值為你自己申請的域名即可。
#user root;
error_log /var/log/nginx/error.log warn; # 錯誤日志路徑和日志級別
worker_processes auto; # Nginx工作進(jìn)程數(shù),通常設(shè)置為CPU核數(shù)
pid /var/run/nginx.pid;# 定義事件模塊
events {worker_connections 1024; # 每個工作進(jìn)程最大并發(fā)連接數(shù)use epoll; # 使用epoll網(wǎng)絡(luò)模型,提高性能multi_accept on; # 開啟支持多個連接同時建立
}# 定義HTTP服務(wù)器模塊
http {# 定義MIME類型include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;gzip on; # 啟用壓縮,可以提高網(wǎng)站訪問速度gzip_min_length 1k; # 最小壓縮文件大小gzip_types text/plain text/css application/json application/javascript application/xml; # 被壓縮的類型server {listen 80;# 將 server_name 的值修改為你自己的域名 ******************************server_name note.zhulang.love;rewrite ^(.*) https://$server_name$1 permanent; # 如果是 http 請求,則永久重定向到 https 請求}server {listen 443 ssl; # 1.1 版本后這樣寫# 將 server_name 的值修改為你自己的域名 ******************************server_name note.zhulang.love;ssl_certificate /etc/nginx/ssl/ssl.crt;ssl_certificate_key /etc/nginx/ssl/ssl.key;ssl_session_cache shared:SSL:1m; # 加密訪問緩存設(shè)置,可以大大提高訪問速度ssl_session_timeout 10m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;fastcgi_param HTTPS on;fastcgi_param HTTP_SCHEME https;location / {root html;index index.html index.htm;}}
}
4.3 添加 index.html
為了方便測試,我們在 /app/nginx/html
文件夾下添加一個 index.html 文件:
sudo vim /app/nginx/html/index.html
index.html 文件內(nèi)容:
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><title>Document</title>
</head><body>歡迎訪問<a href="https://www.zhulang.love" target="_blank" style="color: green;">狐貍半面添的客棧</a>,持續(xù)的實戰(zhàn)開發(fā)技術(shù)分享與編程指南。
</body></html>
4.4 測試 https
我們先將 nginx 服務(wù)器重啟:
sudo docker restart nginx
然后使用 https 訪問你自己的域名,我這里就是訪問:https://note.zhulang.love
5.總結(jié)
5.1 你可能遇到的問題
如果你使用 https 進(jìn)行訪問遇到:
那么請檢查你的服務(wù)器防火墻是否將 443 端口開放,當(dāng)然,也請把 80 端口開放。
5.2 靜態(tài)網(wǎng)站的部署
你只需要將你的靜態(tài)項目文件放置在 /app/nginx/html
目錄下即可。