首頁 > 運維 > Docker > 帶你去搞懂怎麼基於Docker安裝Nginx來建立靜態伺服器

帶你去搞懂怎麼基於Docker安裝Nginx來建立靜態伺服器

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2022-02-15 17:50:02
轉載
2509 人瀏覽過

這篇文章為大家帶來了關於怎麼基於docker安裝Nginx搭建靜態伺服器的相關知識,使用nginx作為靜態伺服器是很常見的情況,以下主要就是講透過docker安裝管理我們的nginx,並配置ssl憑證來開啟HTTPS訪問,希望對大家有幫助。

帶你去搞懂怎麼基於Docker安裝Nginx來建立靜態伺服器

大家需要一台伺服器,靜態伺服器設定需求不算很高,推薦1核心2G以上。

一、安裝Docker

linux伺服器使用curl下載快速安裝的shell腳本

curl -fsSL get.docker.com -o get-docker.sh
登入後複製

下載完成後,可以ls指令查看一下。已經存在的話,使用sh指令執行這個腳本

sh get-docker.sh
登入後複製

注意如果不是root用戶,需要使用sudo su取得超級管理員權限。

安裝完成後啟動一下Docker Server

systemctl start docker
登入後複製

使用docker version指令能看到Client Server就啟動成功了。

二、使用Docker 安裝Nginx

1. 先執行一次nginx,為了拷貝容器內設定檔到本機

docker run -d -p 80:80 --name nginx \
 -v /home/nginx/html:/usr/share/nginx/html \
 -v /home/nginx/logs:/var/log/nginx \
 nginx:latest
登入後複製

2. 拷貝容器內設定檔到本機

docker container cp nginx:/etc/nginx /home/nginx/
cd /home/nginx
mv nginx conf
登入後複製

3. 刪除先前的容器

docker stop nginx
docker rm nginx
登入後複製

4. 根據本機設定檔執行新容器

docker run -d -p 80:80 -p 443:443 --name nginx \
 -v /home/nginx/conf:/etc/nginx \
 -v /home/nginx/logs:/var/log/nginx \
 -v /home/nginx/html:/usr/share/nginx/html \
 nginx:latest
登入後複製

如果不需要設定ssl憑證開啟https訪問,此時就可以把這個nginx當作普通靜態伺服器使用了。

其中/home/nginx中的幾個資料夾:

#conf: nginx的設定文件,具體設定可以看官網

html: 放靜態資源,如html、css、js

##logs: 日誌資料夾,存取的日誌可以在其中查看

改變了配置文件,記得透過

docker restart nginx重啟下nginx

三、設定SSL 憑證開啟HTTPS 存取

1. 在雲端服務廠商申請SSL 憑證

我是在

騰訊雲申請的SSL證書,提交申請資料了,會讓配置一個txt類型的網域解析,然後等待通過就行。

申請通過後,下載

nginx伺服器類型的憑證。

帶你去搞懂怎麼基於Docker安裝Nginx來建立靜態伺服器

2. 把憑證解壓縮後上傳到憑證資料夾

conf/conf.d建立cert憑證資料夾

cd /home/nginx/conf/conf.d
mkdir cert
登入後複製
把剛才下載的憑證上傳到這個資料夾

3.修改nginx 設定開啟HTTPS 存取

vi /home/nginx/ conf/conf.d/default.conf

寫入以下內容

server {
    #SSL 访问端口号为 443
    listen 443 ssl;
    #填写绑定证书的域名
    server_name 0101.ml;
    #证书文件名称
    ssl_certificate /etc/nginx/conf.d/cert/0101.ml_bundle.pem;
    #私钥文件名称
    ssl_certificate_key /etc/nginx/conf.d/cert/0101.ml.key;
    ssl_session_timeout 5m;
    #请按照以下协议配置
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    location / {
    #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
        root /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

server {
        listen 80;
        #填写绑定证书的域名
        server_name falser.top;
        #把http的域名请求转成https
        return 301 https://$host$request_uri;
}
登入後複製
需要改的地方:

server_name: 改為自己的網域(兩處)

ssl_certificate: .crt後綴的憑證檔案

ssl_certificate_key: .key後綴的憑證私鑰檔案

推薦學習:《

docker影片教學
#

以上是帶你去搞懂怎麼基於Docker安裝Nginx來建立靜態伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板