最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Docker和Nginx部署Web服務(wù)的操作指南

 更新時(shí)間:2024年01月30日 09:49:47   作者:鼠鼠我捏,要死了捏  
本文給大家介紹了Docker和Nginx部署Web服務(wù)的完美指南,Docker是一種容器化技術(shù),它可以將應(yīng)用程序及其依賴(lài)項(xiàng)打包到一個(gè)獨(dú)立的、可移植的容器中,而Nginx則是一款高性能的Web服務(wù)器和反向代理服務(wù)器,感興趣的朋友可以參考下

前言

Docker是一種容器化技術(shù),它可以將應(yīng)用程序及其依賴(lài)項(xiàng)打包到一個(gè)獨(dú)立的、可移植的容器中。這意味著開(kāi)發(fā)人員可以在任何環(huán)境中輕松部署和運(yùn)行他們的應(yīng)用程序,而無(wú)需擔(dān)心環(huán)境差異和依賴(lài)問(wèn)題。而Nginx則是一款高性能的Web服務(wù)器和反向代理服務(wù)器,它可以處理大量并發(fā)請(qǐng)求并提供高可用性和負(fù)載均衡。Docker+Nginx是一種高效、靈活且可擴(kuò)展的解決方案。

在當(dāng)今快速發(fā)展的技術(shù)領(lǐng)域,C/C++、云原生、人工智能等前沿技術(shù)正引領(lǐng)著軟件工程的發(fā)展。作為后端開(kāi)發(fā)人員,掌握J(rèn)ava、JavaScript、PHP、Python等編程語(yǔ)言是必不可少的。同時(shí),結(jié)合云原生的理念,將應(yīng)用程序容器化部署,能夠更好地適應(yīng)云環(huán)境的動(dòng)態(tài)性和彈性需求。使用Docker和Nginx可以幫助開(kāi)發(fā)團(tuán)隊(duì)實(shí)現(xiàn)快速部署和持續(xù)集成,提高開(kāi)發(fā)效率和代碼質(zhì)量。

準(zhǔn)備工作

Docker環(huán)境安裝

 這里簡(jiǎn)單講述下docker的安裝,可以通過(guò)官方提供的安裝腳本安裝

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

如果因?yàn)榫W(wǎng)絡(luò)問(wèn)題無(wú)法正常安裝,也可以使用國(guó)內(nèi) daocloud 一鍵安裝命令

curl -sSL https://get.daocloud.io/docker | sh

啟動(dòng)docker

sudo systemctl start docker

這里推薦個(gè)比較好用的面板1Panel,我拿到云服務(wù)器后一般習(xí)慣先裝個(gè)1Panel,他安裝的同時(shí)也會(huì)把Docker 和Docker Compose安裝好,還是很方便的

部署Web應(yīng)用

1.拉取nginx鏡像

這里我們可以直接拉取最新版本

docker pull nginx

2.創(chuàng)建掛載目錄

接下來(lái)我們創(chuàng)建容器的掛載目錄文件夾,主要有三個(gè)目錄,目錄位置可根據(jù)自己的習(xí)慣調(diào)整

  • nginx_logs :日志文件目錄
  • nginx_conf :配置文件目錄
  • nginx_web :項(xiàng)目文件目錄(這里可以存放web文件)
mkdir /root/nginx_conf
mkdir /root/nginx_logs
mkdir /root/nginx_web

授權(quán)文件夾,防止nginx操作文件夾權(quán)限不足

chmod 777 /root/nginx_conf
chmod 777 /root/nginx_logs
chmod 777 /root/nginx_web

3.創(chuàng)建容器并掛載目錄

掛載操作會(huì)直接將兩個(gè)文件夾內(nèi)容同步,若是直接用宿主機(jī)的空文件夾直接掛載到容器內(nèi)部的配置文件目錄上,會(huì)造成nginx容器配置文件目錄被同步為空文件夾,進(jìn)而導(dǎo)致容器啟動(dòng)失敗。故我們需要先啟動(dòng)一遍容器,將初始配置拷貝出來(lái)。

創(chuàng)建容器

docker run -itd --name nginx -p 80:80 nginx

復(fù)制容器配置文件到宿主機(jī)

docker cp nginx:/etc/nginx /root/nginx_conf

這樣就完成了配置文件的復(fù)制

刪除容器,啟動(dòng)容器并掛載目錄

這里的-v參數(shù)掛載目錄記得檢查一下路徑是否有誤

docker rm -f nginx
docker run -itd --name nginx -p 80:80 -v /root/nginx_web:/var/www/html -v /root/nginx_conf/nginx:/etc/nginx -v /root/nginx_logs:/var/log/nginx nginx

4.修改配置文件

到掛載的配置文件夾/root/nginx_conf/conf.d下,修改default.conf,或者新建conf文件,在這個(gè)目錄下,conf后綴的文件都會(huì)被讀取為配置文件(因?yàn)?root/nginx_conf/nginx.conf中配置了include)

示例配置文件內(nèi)容如下

server{
    #監(jiān)聽(tīng)的端口號(hào)
    listen 80;
    #要監(jiān)聽(tīng)的服務(wù)器地址,域名也可行,根據(jù)實(shí)際情況修改
    server_name 154.111.111.111;
    client_max_body_size 20m;
    access_log /var/log/nginx/host.access.log main;
     #開(kāi)啟gzip功能(這段可選,如果web界面資源有壓縮格式文件可開(kāi)啟)
  	gzip on; 
  	#開(kāi)啟gzip靜態(tài)壓縮功能
  	gzip_static on; 
  	#gzip緩存大小
  	gzip_buffers 4 16k;
  	#gzip http版本
  	gzip_http_version 1.1;
  	#gzip 壓縮級(jí)別 1-10 r
  	gzip_comp_level 5;
  	#gzip 壓縮類(lèi)型
  	gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
  	#配置禁用gzip條件,支持正則。此處表示ie6及以下不啟用gzip(因?yàn)閕e低版本不支持
  	gzip_disable   "MSIE [1-6]\.";
    #前端,根據(jù)實(shí)際情況修改
	location / {
		# 項(xiàng)目地址,這里指的是nginx容器的地址
        root   /var/www/html/luckysj;
		try_files $uri $uri/ /index.html?s=$uri&$args;
		# 默認(rèn)訪問(wèn)的資源
        index index.html index.htm index.php;
        
    }
    
    # 錯(cuò)誤網(wǎng)頁(yè)配置
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

5.上傳web文件到掛載目錄中

將你的web文件上傳到/root/nginx_web這個(gè)目錄中,如下

重啟nginx容器,使配置生效

docker restart nginx

6.訪問(wèn)網(wǎng)頁(yè)測(cè)試

可通過(guò)ip+nginx設(shè)置的監(jiān)聽(tīng)端口來(lái)訪問(wèn)Web服務(wù),如http://1.1.1.231:80

若報(bào)錯(cuò)或者啟動(dòng)失敗,可查看日志排除錯(cuò)誤

docker logs nginx

域名配置

接下來(lái)我們講解如何配置域名,讓我們能通過(guò)域名(如www.baidu.com)訪問(wèn)自己的網(wǎng)站

域名購(gòu)入

域名購(gòu)入的話可以去騰訊云,便宜的域名幾塊錢(qián)可以買(mǎi)一年

設(shè)置DNS解析

購(gòu)買(mǎi)域名后還不能直接使用,需要設(shè)置DNS解析,將域名指向我們的服務(wù)器Ip

輸入Ip并保存解析

一般來(lái)說(shuō),成功設(shè)置解析后幾分鐘就會(huì)正常生效,可以嘗試通過(guò)ping 域名來(lái)確定是否成功解析

Nginx配置監(jiān)聽(tīng)域名

這里只要把我們上面的配置中的server_name從ip改成我們的域名就可以了

    #監(jiān)聽(tīng)的端口號(hào)
    listen 80;
    #要監(jiān)聽(tīng)的服務(wù)器地址,域名也可行,根據(jù)實(shí)際情況修改
    server_name 你的域名;

重啟nginx容器,使配置生效,就可通過(guò)域名訪問(wèn)網(wǎng)站啦~

docker restart nginx

SSL證書(shū)配置

為什么要配置SSL證書(shū)

當(dāng)我們沒(méi)有配置SSL證書(shū)訪問(wèn)網(wǎng)頁(yè)時(shí),會(huì)發(fā)現(xiàn)地址欄左邊會(huì)提示不安全,這是由于http明文方式傳輸缺乏安全性,谷歌等主流瀏覽器也會(huì)對(duì)沒(méi)有安裝SSL證書(shū)的網(wǎng)站顯示“不安全”。

故我們需要配置SSL證書(shū),從Http請(qǐng)求訪問(wèn)網(wǎng)站改為Https請(qǐng)求訪問(wèn)網(wǎng)站。

申請(qǐng)SSL證書(shū)

申請(qǐng)SSL證書(shū)可以去阿里云免費(fèi)申請(qǐng)SSL證書(shū)。一年可以申請(qǐng)20次,每次申請(qǐng)的證書(shū)有效期為三個(gè)月,也夠個(gè)人使用了。

申請(qǐng)SSL證書(shū)成功后,我們可下載該SSL證書(shū)的pem/key文件

上傳pem/key文件到服務(wù)器上,比如我上傳的位置為/root/nginx_conf/ssl目錄下

配置SSL證書(shū)

修改Nginx配置,轉(zhuǎn)發(fā)80端口請(qǐng)求,轉(zhuǎn)發(fā)至443端口

#以下為啟用SSL證書(shū)的配置
server {
    listen       80;
    #支持IPV6
    listen  [::]:80;
    server_name  你的域名;
 
    client_max_body_size 20m;
 
    access_log /var/log/nginx/host.access.log main;
 
     #開(kāi)啟gzip功能
  	gzip on; 
  	#開(kāi)啟gzip靜態(tài)壓縮功能
  	gzip_static on; 
  	#gzip緩存大小
  	gzip_buffers 4 16k;
  	#gzip http版本
  	gzip_http_version 1.1;
  	#gzip 壓縮級(jí)別 1-10 r
  	gzip_comp_level 5;
  	#gzip 壓縮類(lèi)型
  	gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
  	#配置禁用gzip條件,支持正則。此處表示ie6及以下不啟用gzip(因?yàn)閕e低版本不支持
  	gzip_disable   "MSIE [1-6]\.";
  	
    rewrite ^(.*) https://$server_name$1 permanent;
 
}

443端口監(jiān)聽(tīng)配置如下,主要注意的地方為ssl_certificate和ssl_certificate_key要改成你的文件名

server {
    listen       443 ssl;
    server_name  www.luckysj.online;
 
    ssl_certificate      /etc/nginx/ssl/你的pem文件;
    ssl_certificate_key  /etc/nginx/ssl/你的key文件;
 
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
 
    #自定義設(shè)置使用的TLS協(xié)議的類(lèi)型以及加密套件(以下為配置示例,請(qǐng)您自行評(píng)估是否需要配置)
    #TLS協(xié)議版本越高,HTTPS通信的安全性越高,但是相較于低版本TLS協(xié)議,高版本TLS協(xié)議對(duì)瀏覽器的兼容性較差。
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
 
    #表示優(yōu)先使用服務(wù)端加密套件。默認(rèn)開(kāi)啟
    ssl_prefer_server_ciphers on;
 
     location / {
        # 項(xiàng)目地址,這里指的是nginx容器的地址
        root   /var/www/html/luckysj;
		try_files $uri $uri/ /index.html?s=$uri&$args;
		# 默認(rèn)訪問(wèn)的資源
        index index.html index.htm index.php;
    }
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

重啟nginx容器,通過(guò)域名訪問(wèn)網(wǎng)站就會(huì)發(fā)現(xiàn)請(qǐng)求自動(dòng)變?yōu)閔ttps啦~

這里需要注意的是,如果你web服務(wù)改為了Https請(qǐng)求,那么web服務(wù)請(qǐng)求后端也需要通過(guò)Https協(xié)議,也就是后端服務(wù)也需要配置SSL證書(shū)服務(wù)(可通過(guò)nginx反向代理實(shí)現(xiàn),這里就不細(xì)講啦)

總結(jié)

本文簡(jiǎn)單的介紹了如何使用Docker和Nginx來(lái)部署和管理Web服務(wù),以及域名與SSL證書(shū)的配置,感謝您的觀看,有幫助就多多三連吧~

以上就是使用Docker和Nginx部署Web服務(wù)的操作指南的詳細(xì)內(nèi)容,更多關(guān)于Docker Nginx部署Web的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Docker安裝Maven私服Nexus3的實(shí)現(xiàn)步驟

    Docker安裝Maven私服Nexus3的實(shí)現(xiàn)步驟

    本文主要介紹了Docker安裝Maven私服Nexus3的實(shí)現(xiàn)步驟,可以幫助開(kāi)發(fā)者搭建高效的依賴(lài)管理和分發(fā)環(huán)境,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-12-12
  • docker 安裝solr8.6.2 配置中文分詞器的方法

    docker 安裝solr8.6.2 配置中文分詞器的方法

    這篇文章主要介紹了docker 安裝solr8.6.2 配置中文分詞器的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 詳解docker-compose安裝minio

    詳解docker-compose安裝minio

    這篇文章主要介紹了docker-compose安裝minio的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Docker中Nginx反向代理的實(shí)現(xiàn)步驟

    Docker中Nginx反向代理的實(shí)現(xiàn)步驟

    為了安全考慮,我們一般會(huì)設(shè)置反向代理,用來(lái)屏蔽應(yīng)用程序真實(shí)的IP和端口號(hào),本文主要介紹了Docker中Nginx反向代理的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Docker進(jìn)階之構(gòu)建自定義鏡像實(shí)戰(zhàn)指南

    Docker進(jìn)階之構(gòu)建自定義鏡像實(shí)戰(zhàn)指南

    從docker鏡像倉(cāng)庫(kù)中下載的鏡像不能滿(mǎn)足我們的需求時(shí),可以對(duì)鏡像進(jìn)行更改,下面這篇文章主要給大家介紹了關(guān)于Docker進(jìn)階之構(gòu)建自定義鏡像實(shí)戰(zhàn)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Docker部署Nginx HTTPS服務(wù)的實(shí)現(xiàn)步驟

    Docker部署Nginx HTTPS服務(wù)的實(shí)現(xiàn)步驟

    本文主要介紹了Docker部署Nginx HTTPS服務(wù),實(shí)現(xiàn)HTTP到HTTPS的自動(dòng)跳轉(zhuǎn),并解決中文亂碼、證書(shū)掛載、鏡像檢測(cè)等問(wèn)題的步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2026-01-01
  • 一文詳解如何更改Docker鏡像存儲(chǔ)路徑

    一文詳解如何更改Docker鏡像存儲(chǔ)路徑

    在Docker中,默認(rèn)情況下鏡像的存儲(chǔ)路徑是在C盤(pán),然而,隨著時(shí)間的推移,您可能會(huì)發(fā)現(xiàn)這個(gè)默認(rèn)路徑占用了大量的磁盤(pán)空間,這篇文章主要介紹了如何更改Docker鏡像存儲(chǔ)路徑的相關(guān)資料,需要的朋友可以參考下
    2025-08-08
  • 使用docker+devpi搭建本地pypi源的方法

    使用docker+devpi搭建本地pypi源的方法

    這篇文章主要介紹了使用docker+devpi搭建本地pypi源的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • Docker network自定義網(wǎng)絡(luò)方式

    Docker network自定義網(wǎng)絡(luò)方式

    這篇文章主要介紹了Docker network自定義網(wǎng)絡(luò)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Docker?Kill/Pause/Unpause命令使用與區(qū)別小結(jié)

    Docker?Kill/Pause/Unpause命令使用與區(qū)別小結(jié)

    本文詳細(xì)介紹了Docker中的三個(gè)重要命令,kill、pause和unpause,這些命令在管理和操作運(yùn)行中的容器時(shí)非常有用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03

最新評(píng)論

开江县| 博乐市| 沙坪坝区| 赫章县| 额尔古纳市| 台安县| 汝城县| 康马县| 格尔木市| 石家庄市| 南阳市| 福鼎市| 湖南省| 新郑市| 乳山市| 常宁市| 郯城县| 颍上县| 黄冈市| 池州市| 德惠市| 平泉县| 阿勒泰市| 阜南县| 准格尔旗| 闻喜县| 南木林县| 太保市| 武宣县| 上饶市| 万载县| 高淳县| 镇安县| 贵港市| 象山县| 彭阳县| 古田县| 山丹县| 兖州市| 双江| 清新县|