云服务器 docker 环境安装 nginx 配置

由于最近想做一些自己的项目进行部署,于是就买在 618 特惠的情况下买了台服务器基于 docker 环境来记录一下安装 nginx 的配置,接下来废话不多说直接开始。

服务器环境配置

关于服务器的购买可以直接在各个云服务器的网站上购买,因为是 618 所以各个网商都是有优惠活动的。

在购买的时候可以选择服务器的镜像的,我是直接选择系统镜像为CentOS7.6-Docker24为服务器的系统的,所以在进入系统后就不用在手动安装 docker 环境了,系统里面已经安装好了。

服务器登录方式

  • window 系统可以选择 xshell
  • mac 系统可以直接选择 终端、Hyper、Electerm
  • 终端登录的命令是:ssh -p 22 root@xxxx xxx代表服务器公网 Ip 地址 登录系统后可以直接输入 docker -v 进行查看 docker 的版本

直接输入 docker 可以看到一些关系 docker 的命令

nginx 安装

docker下载 nginx 镜像的命令

命令 描述
docker pull nginx 下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest )
docker pull nginx:xxx 下载指定版本的Nginx镜像 (xxx指具体版本号)

docker pull nginx:latest 输入完命令后等待一会安装就可以了。 然后我们可以可以使用 docker images 命令来镜像查看是否安装 nginx

以上就是安装最新版本的 nginx , 如果你不想要最新的版本 nginx 可以使用命令为docker pull nginx:版本就可以了,这里我就不再具体的演示了。

nginx运行配置

启动前需要先创建Nginx外部挂载的配置文件( /home/nginx/conf/nginx.conf) 之所以要先创建 , 是因为Nginx本身容器只存在/etc/nginx 目录 , 本身就不创建 nginx.conf 文件 当服务器和容器都不存在 nginx.conf 文件时, 执行启动命令的时候 docker会将nginx.conf 作为目录创建 , 这并不是我们想要的结果 。

bash 复制代码
# 创建挂载目录
mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html

创建 nginx 的容器 docker run --name nginx -p 80:80 -d nginx

查看 docker 中 nginx的容器 docker ps

进入 docker 创建的 nginx 容器 查看 nginx 配置信息 docker exec -it nginx /bin/bash

在 docker 创建的 nginx 容器文件默认都是在 etc/nginx 里面的

退出容器的命令是 exit就可以退出了

接下来我们要把 nginx 里面的nginx.conf和conf.d这两个文件复制到本地开始创建的文件里面。

bash 复制代码
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf.d   
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /data/frontend

可以去对应的文件里面去查看是否复制成功,复制成功后可以对之前创建的容器进行删除,或者是直接重新创建 nginx 容器。在重新创建 nginx 容器的时候要挂在之前复制的文件。

bash 复制代码
# 单行模式创建 nginx 容器,并且挂在文件
docker run -p 80:80 --name nginx -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /data/frontend:/usr/share/nginx/html/ -d nginx:latest
命令 描述
--name nginx 启动容器的名字
-d 后台运行
-p 80:80 将容器的 80(后面那个) 端口映射到主机的 80(前面那个) 端口
-v /home/nginx/nginx.conf:/etc/nginx/nginx.conf 挂载nginx.conf配置文件
-v /home/nginx/conf.d:/etc/nginx/conf.d 挂载nginx配置文件
-v /home/nginx/log:/var/log/nginx 挂载nginx日志文件
-v /data/:/usr/share/nginx/html/ 挂载nginx内容
nginx:latest 本地运行的版本

测试是否配置成功,可以在文件里面丢一个 index.html 文件。

相关推荐
乘风gg1 小时前
还在养虾吗?虾王已诞生:微信龙虾 ClawBot
前端·ai编程·claude
小小小小宇1 小时前
LLM 长期记忆构建
前端
lichenyang4531 小时前
从 Express 老项目到 NestJS + Docker:一次车辆管理系统的渐进式重构
前端
Momo__2 小时前
VueUse createReusableTemplate —— 单文件组件内的模板复用神器
前端·vue.js
程序员小富3 小时前
我开源了一个开发者专属的智能 JSON 工具,得到了媳妇高度认可
前端·vue.js·后端
小小小小宇3 小时前
程序员如何给 LLM 装工具以及看懂推理过程
前端
写代码的皮筏艇3 小时前
React中的forwardRef
前端·react.js·面试
槑有老呆3 小时前
花三个月工资请了个 AI 程序员,结果它连青岛啤酒股价都查不了
前端
风骏时光牛马3 小时前
Verilog开发常见问题汇总解析
前端
子兮曰3 小时前
AI Coding Method Map:一张图看懂 AI 编程的完整链路
前端·人工智能·后端