亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

前言

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

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

準(zhǔn)備工作

Docker環(huán)境安裝

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

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

如果因?yàn)榫W(wǎng)絡(luò)問題無法正常安裝,也可以使用國內(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)建掛載目錄

接下來我們創(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)一遍容器,將初始配置拷貝出來。

創(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)聽的端口號(hào)
    listen 80;
    #要監(jiān)聽的服務(wù)器地址,域名也可行,根據(jù)實(shí)際情況修改
    server_name 154.111.111.111;
    client_max_body_size 20m;
    access_log /var/log/nginx/host.access.log main;
     #開啟gzip功能(這段可選,如果web界面資源有壓縮格式文件可開啟)
  	gzip on; 
  	#開啟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 壓縮類型
  	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)訪問的資源
        index index.html index.htm index.php;
        
    }
    
    # 錯(cuò)誤網(wǎng)頁配置
    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ǎng)頁測(cè)試

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

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

docker logs nginx

域名配置

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

域名購入

域名購入的話可以去騰訊云,便宜的域名幾塊錢可以買一年

設(shè)置DNS解析

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

輸入Ip并保存解析

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

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

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

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

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

docker restart nginx

SSL證書配置

為什么要配置SSL證書

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

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

申請(qǐng)SSL證書

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

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

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

配置SSL證書

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

#以下為啟用SSL證書的配置
server {
    listen       80;
    #支持IPV6
    listen  [::]:80;
    server_name  你的域名;
 
    client_max_body_size 20m;
 
    access_log /var/log/nginx/host.access.log main;
 
     #開啟gzip功能
  	gzip on; 
  	#開啟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 壓縮類型
  	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)聽配置如下,主要注意的地方為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é)議的類型以及加密套件(以下為配置示例,請(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)開啟
    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)訪問的資源
        index index.html index.htm index.php;
    }
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

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

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

總結(jié)

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

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

相關(guān)文章

  • Docker之實(shí)現(xiàn)掛載的三種方式匯總

    Docker之實(shí)現(xiàn)掛載的三種方式匯總

    這篇文章主要介紹了Docker之實(shí)現(xiàn)掛載的三種方式匯總,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Docker容器中文亂碼(修改docker容器編碼格式)的解決方案

    Docker容器中文亂碼(修改docker容器編碼格式)的解決方案

    這篇文章主要介紹了Docker容器中文亂碼(修改docker容器編碼格式)的解決方案的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • docker Overlay目錄占用的磁盤空間過大問題

    docker Overlay目錄占用的磁盤空間過大問題

    這篇文章主要介紹了docker Overlay目錄占用的磁盤空間過大問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • docker安裝nacos并配置數(shù)據(jù)庫的全過程

    docker安裝nacos并配置數(shù)據(jù)庫的全過程

    這篇文章主要給大家介紹了關(guān)于docker安裝nacos并配置數(shù)據(jù)庫的相關(guān)資料, Nacos是SpringCloudAlibaba架構(gòu)中最重要的組件,Nacos 是一個(gè)更易于幫助構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置和服務(wù)管理平臺(tái),文中介紹的非常信息,需要的朋友可以參考下
    2023-09-09
  • Docker超詳細(xì)講解鏡像操作

    Docker超詳細(xì)講解鏡像操作

    鏡像也是?docker?的核心組件之一,鏡像時(shí)容器運(yùn)行的基礎(chǔ),容器是鏡像運(yùn)行后的形態(tài)。本文主要介紹Docker鏡像的基本操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 使用Docker鏡像構(gòu)建Go應(yīng)用的實(shí)現(xiàn)方法

    使用Docker鏡像構(gòu)建Go應(yīng)用的實(shí)現(xiàn)方法

    本文主要介紹了使用Docker鏡像構(gòu)建Go應(yīng)用的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Docker安裝及基本使用方法詳細(xì)介紹

    Docker安裝及基本使用方法詳細(xì)介紹

    本篇文章主要介紹了Docker安裝及基本使用方法詳細(xì)介紹,對(duì)于初學(xué)者有一定的參考作用,有需要的可以了解一下。
    2016-11-11
  • 快速修改docker容器的啟動(dòng)參數(shù)等信息

    快速修改docker容器的啟動(dòng)參數(shù)等信息

    這篇文章主要介紹了快速修改docker容器的啟動(dòng)參數(shù)等信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • nerdctl替代docker及docker-compose的安裝使用

    nerdctl替代docker及docker-compose的安裝使用

    這篇文章主要為大家介紹了nerdctl替代docker及docker-compose的安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 講解使用Docker搭建Java Web運(yùn)行環(huán)境

    講解使用Docker搭建Java Web運(yùn)行環(huán)境

    本篇文章詳細(xì)的介紹了使用Docker搭建Java Web運(yùn)行環(huán)境,想要學(xué)習(xí)docker的同學(xué)可以了解一下。
    2016-11-11

最新評(píng)論