实战基于Docker部署NGINX应用网站

一.准备工作

首先我们需要准备一个服务器,一个打包好了的前端应用网站,动态网站的话还需要一个后端。

这里我就以华为云为例。当然服务器就全看大家的荷包了,

我们先打开华为云找到容器

实战基于Docker部署NGINX应用网站
这里我们可以看到一个叫做 容器镜像服务 SWR的产品,点进去。点击立即使用。找到这个点击,有了这个我们就可以进行镜像加速
实战基于Docker部署NGINX应用网站
实战基于Docker部署NGINX应用网站
这个地址在后面就会使用到,当然我们这个不仅仅是华为云有,像阿里云, 腾讯云这些也是有的。找的方法也差不多,还有一些地址可以看我前面几篇的文章也是有写的。
接下来我们就可以去xshell里面进行操作了

; 二. 下载docker

这里我们使用docker来进行部署,所以我们需要先去下载一下docker。详细的可以看我这篇文章,这里我们就加加速。

(1)卸载旧版本

首先先使用

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

卸载旧版本,如果有的话(看情况自己判断)。

(2)设置下载源

sudo yum install -y yum-utils

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

设置好了之后就行进行下载了,下面是下载代码

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

注意:这样下载的是最新版本的,如果需要下载指定版本的话可以看我上面说的那篇文章。

(3)设置镜像加速

这时我们刚刚进华为云复制的地址就有用处了。当然也还有很多选择。

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来查看是否修改成功。

实战基于Docker部署NGINX应用网站
这个 registry mirrors变成你写进去的地址那么就成功了

(4)下载nginx

接下来,我们就可以使用 docker pull命令来下载nginx了。

实战基于Docker部署NGINX应用网站
下载完成之后我们再使用 docker images命令来查看下载好的镜像。
实战基于Docker部署NGINX应用网站
可以看到到这里我们就已经基本做好准备工作了。接下来我需要对文件进行处理,方便我们对docker里的nginx服务器里的网页进行配置修改和网页修改。也就是使用我们的数据卷技术。

; 三. 配置我们的nginx

(1)配置文件

首先我们需要先知道,nginx是怎么工作的,nginx有两个配置文件, conf.dnginx.conf其中 conf.d是个文件夹,里面有个文件是 default.conf

他们的地址分别为:
/etc/nginx/conf.d
/etc/nginx/nginx.conf
为什么我要提这一嘴呢,因为我们需要对这两个文件进行配置操作,满足我们后续的需求,而在docker中呢下载的 nginx镜像是进行缩减过的,只保留了基础的功能,所以我们如果没有使用 docker file生成镜像时对nginx进行基本配置是无法在里面使用 vivim功能和其他一些所需的操作功能,而且就算有我们每次需要进去配置也是比较的不方便,所以我们需要进行数据卷操作,使我们能够更加简单的方便的来操作docker里的服务。

(2)配置网页

这里我需要让我的网址当用户进入是判断是手机用户还是电脑用户然后自行跳转相应的页面。

(3)操作

所以我们需要创建两个文件夹

实战基于Docker部署NGINX应用网站
然后把自己准备好的打包好了的网页放进来。
实战基于Docker部署NGINX应用网站
像这样

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

实战基于Docker部署NGINX应用网站

像我这样创建几个文件夹和文件。这个创建语法这里就不赘述了。然后我们就可以把这几个配置文件给配置一下了。这里先解释一下这几个文件的用途, conf.d是个文件夹,里面有个文件叫 default.confnginx.conf文件一样是nginx的配置文件,我们可以在这两个文件中书写一些你所需的配置,像啥负载均衡啊,代理,重写跳转页面啥的都是在这配置。当然我们这里是要通过数据卷和nginx里的配置文件连起来使其生效。这里需要注意一点当我们挂载的是文件时,我们需要给文件设置权限不然容器里的文件内容不会随着主机更改而更改 chmod 777 nginx.conflogs文件夹里是日志文件,可以让我们获取到nginx的日志。

建议:尽量挂载目录而不是挂载文件!

nginx.conf文件中,我这里进行如下操作。

实战基于Docker部署NGINX应用网站

; (4)docker run

接下来我们就可以运行这个容器了,使用 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
将对应的主机目录和容器目录或文件进行挂载即可。设置端口映射,命名,后台执行,镜像名。这些命令不理解的话可以看我上两篇文章。

(5)查看是否成功

我们可以先通过 docker exec -it nginx-music-v1.0 /bin/bash这个命令进入我们的nginx容器进行检测,使用 nginx -t先进行测试看看我们的nginx.conf文件的配置语法有无错误

实战基于Docker部署NGINX应用网站
像这样
之后我们就可以去网站上测试一下了看像是否成功。
实战基于Docker部署NGINX应用网站
实战基于Docker部署NGINX应用网站
可以了。。。

Original: https://blog.csdn.net/weixin_45801664/article/details/126142250
Author: Aasee.
Title: 实战基于Docker部署NGINX应用网站

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/744378/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球