自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

實(shí)戰(zhàn)基于Docker部署Nginx應(yīng)用網(wǎng)站

云計(jì)算 云原生
首先我們需要先知道,Nginx是怎么工作的,Nginx有兩個(gè)配置文件,Conf.d 和 Nginx.conf其中Conf.d是個(gè)文件夾,里面有個(gè)文件是Default.Conf。

??想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

一、準(zhǔn)備工作

首先我們需要準(zhǔn)備一個(gè)服務(wù)器,一個(gè)打包好了的前端應(yīng)用網(wǎng)站,動(dòng)態(tài)網(wǎng)站的話還需要一個(gè)后端。

這里我就以華為云為例。當(dāng)然服務(wù)器就全看大家的荷包了。

我們先打開華為云找到容器。

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

這里我們可以看到一個(gè)叫做容器鏡像服務(wù) SWR的產(chǎn)品,點(diǎn)進(jìn)去。點(diǎn)擊立即使用。找到這個(gè)點(diǎn)擊,有了這個(gè)我們就可以進(jìn)行鏡像加速。

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

這個(gè)地址在后面就會(huì)使用到,當(dāng)然我們這個(gè)不僅僅是華為云有,像阿里云, 騰訊云這些也是有的。找的方法也差不多,還有一些地址可以看我前面幾篇的文章也是有寫的。

接下來我們就可以去xshell里面進(jìn)行操作了。

二、下載docker

這里我們使用docker來進(jìn)行部署,所以我們需要先去下載一下docker。詳細(xì)的可以看我??這篇文章??,這里我們就加加速。

(1)卸載舊版本

首先先使用。

sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

卸載舊版本,如果有的話(看情況自己判斷)。

(2)設(shè)置下載源

sudo yum install -y yum-utils  
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

設(shè)置好了之后就行進(jìn)行下載了,下面是下載代碼。

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

注意:這樣下載的是最新版本的,如果需要下載指定版本的話可以看我上面說的那篇文章。

(3)設(shè)置鏡像加速

這時(shí)我們剛剛進(jìn)華為云復(fù)制的地址就有用處了。當(dāng)然也還有很多選擇。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{ "registry-mirrors": ["你的加速地址"] }
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

完成之后可以使用docker info來查看是否修改成功。

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

這個(gè)registry mirrors變成你寫進(jìn)去的地址那么就成功了。

(4)下載nginx

接下來,我們就可以使用docker pull命令來下載nginx了。

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

下載完成之后我們?cè)偈褂胐ocker images命令來查看下載好的鏡像。

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

可以看到到這里我們就已經(jīng)基本做好準(zhǔn)備工作了。接下來我需要對(duì)文件進(jìn)行處理,方便我們對(duì)docker里的nginx服務(wù)器里的網(wǎng)頁(yè)進(jìn)行配置修改和網(wǎng)頁(yè)修改。也就是使用我們的數(shù)據(jù)卷技術(shù)。

三、配置我們的nginx

(1)配置文件

首先我們需要先知道,nginx是怎么工作的,nginx有兩個(gè)配置文件,conf.d 和 nginx.conf其中conf.d是個(gè)文件夾,里面有個(gè)文件是default.conf。

他們的地址分別為:

/etc/nginx/conf.d

/etc/nginx/nginx.conf

為什么我要提這一嘴呢,因?yàn)槲覀冃枰獙?duì)這兩個(gè)文件進(jìn)行配置操作,滿足我們后續(xù)的需求,而在docker中呢下載的nginx鏡像是進(jìn)行縮減過的,只保留了基礎(chǔ)的功能,所以我們?nèi)绻麤]有使用docker file生成鏡像時(shí)對(duì)nginx進(jìn)行基本配置是無法在里面使用vi和vim功能和其他一些所需的操作功能,而且就算有我們每次需要進(jìn)去配置也是比較的不方便,所以我們需要進(jìn)行數(shù)據(jù)卷操作,使我們能夠更加簡(jiǎn)單的方便的來操作docker里的服務(wù)。

(2)配置網(wǎng)頁(yè)

這里我需要讓我的網(wǎng)址當(dāng)用戶進(jìn)入是判斷是手機(jī)用戶還是電腦用戶然后自行跳轉(zhuǎn)相應(yīng)的頁(yè)面。

(3)操作

所以我們需要?jiǎng)?chuàng)建兩個(gè)文件夾。

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

然后把自己準(zhǔn)備好的打包好了的網(wǎng)頁(yè)放進(jìn)來。

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

接下來就去操作配置文件了。

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

像我這樣創(chuàng)建幾個(gè)文件夾和文件。這個(gè)創(chuàng)建語(yǔ)法這里就不贅述了。然后我們就可以把這幾個(gè)配置文件給配置一下了。這里先解釋一下這幾個(gè)文件的用途,conf.d是個(gè)文件夾,里面有個(gè)文件叫default.conf和nginx.conf文件一樣是nginx的配置文件,我們可以在這兩個(gè)文件中書寫一些你所需的配置,像啥負(fù)載均衡啊,代理,重寫跳轉(zhuǎn)頁(yè)面啥的都是在這配置。當(dāng)然我們這里是要通過數(shù)據(jù)卷和nginx里的配置文件連起來使其生效。這里需要注意一點(diǎn)當(dāng)我們掛載的是文件時(shí),我們需要給文件設(shè)置權(quán)限不然容器里的文件內(nèi)容不會(huì)隨著主機(jī)更改而更改chmod 777 nginx.conf。logs文件夾里是日志文件,可以讓我們獲取到nginx的日志。

建議:盡量掛載目錄而不是掛載文件!

nginx.conf文件中,我這里進(jìn)行如下操作。

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

意思就是當(dāng)用戶端訪問時(shí)判斷是手機(jī)端還是pc端然后跳轉(zhuǎn)到相應(yīng)的界面。conf.d文件夾中的default.conf也可以進(jìn)行配置。另外的logs文件夾就不需要去操作了。

(4)docker run

接下來我們就可以運(yùn)行這個(gè)容器了,使用docker run命令。

docker run -d -v /home/nginx-music/html/pc:/usr/share/nginx/html/pc -v /home/nginx-music/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx-music/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx-music/html/mo:/usr/share/nginx/html/mo -v /home/nginx-music/nginx/logs:/var/log/nginx -v /home/nginx-music/nginx/logs:/var/log/nginx -p 80:80 --name nginx-music-v1.0 nginx

將對(duì)應(yīng)的主機(jī)目錄和容器目錄或文件進(jìn)行掛載即可。設(shè)置端口映射,命名,后臺(tái)執(zhí)行,鏡像名。這些命令不理解的話可以看我上兩篇文章。

(5)查看是否成功

我們可以先通過docker exec -it nginx-music-v1.0 /bin/bash這個(gè)命令進(jìn)入我們的nginx容器進(jìn)行檢測(cè),使用nginx -t先進(jìn)行測(cè)試看看我們的nginx.conf文件的配置語(yǔ)法有無錯(cuò)誤。

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

之后我們就可以去網(wǎng)站上測(cè)試一下了看像是否成功。

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

#夏日挑戰(zhàn)賽# 實(shí)戰(zhàn)基于Docker部署NGINX應(yīng)用網(wǎng)站-開源基礎(chǔ)軟件社區(qū)

這樣就可以了。

??想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2023-12-30 18:31:24

NGINXVPS服務(wù)器

2023-01-10 08:37:45

Docker開發(fā)架構(gòu)

2024-01-04 07:39:53

LinuxCentOS 8Docker

2014-07-29 10:35:21

DockerNodeJS

2014-12-08 11:17:51

SDNDocker部署Docker

2015-01-04 13:56:44

DockerPostgreSQL

2015-07-21 14:38:02

Docker部署

2009-01-18 09:56:10

WebSphereJava EEJ2EE自動(dòng)部署

2014-08-26 11:08:50

OpenStack運(yùn)維

2022-07-13 15:43:02

Docker后端api

2023-01-16 00:12:20

Go語(yǔ)言Web

2020-08-28 13:27:25

Docker Node應(yīng)用

2023-11-01 10:31:52

云計(jì)算遠(yuǎn)程服務(wù)器

2010-10-13 09:21:39

2017-03-20 16:12:41

opensslcentosnginx

2021-11-02 08:41:44

Kubernetes Nginx部開源

2022-03-28 18:59:02

DockerFlask深度學(xué)習(xí)

2017-07-07 15:54:26

Linux監(jiān)控場(chǎng)景

2010-05-31 11:10:20

2010-03-19 17:43:31

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)