docker+nginx搭建最基础的网站

499 阅读2分钟

「这是我参与2022首次更文挑战的第2天,活动详情查看:2022首次更文挑战」。

一.肯定是安装docker啦

  • 先整一个服务器,我选用的系统是CentOS 8.3 64位
  • 所以用yum来安装docker

1.安装yum和修改镜像地址

yum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo <http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo>

2.用yum安装docker

yum -y install docker-ce

3.检查docker是否安装成功

docker version
# 或者
docker info

二.操作docker,生成容器

  • 操作docker可以生成一个个的容器,容器之间相互隔离(可以映射容器文件到主机)。服务部署在docker内部。方便部署项目迁移,同时也保证服务器的纯净。
  • docker生成容器需要对应的image文件

1.查找对应的image文件

docker search [keywords]
  • 本次搭建一个最基础的静态页面,只需要nginx即可
  • 查找nginx
docker search nginx

image.png

  • 一般选择第一个即可
docker image pull nginx
  • 查看本地安装的image文件,看看是否安装成功
docker image ls

image.png

  • 删除image文件
docker image rm [imageName]

2.通过image文件,生成容器

$ docker container run -p 80:80 -itd nginx /bin/bash
  • 参数解释
    • -p: 端口映射,容器端口:主机端口
    • -it: 容器的shell映射到本地的shell,使用/bin/bash
    • nginx: 创建容器所需要的镜像
  • 查看当前运行的container,检查是否成功运行
docker container ls

image.png

  • 如果不在,可以使用--all参数,列举所有的container,包括已经停止运行的container
docker container ls --all
  • 所以container就算停止运行,也会存在于服务器中,我们可以重启,或者删除
    • 重启: docker container start [containerID]
    • 删除: docker container rm [containerID]
  • 进入刚刚创建,且在运行的nginx
docker container exec -it [containerID] /bin/bash

image.png

  • 检查下nginx
nginx -v

image.png

  • 确定安装好nginx后,找到nginx.conf,一般在etc/nginx下面,是nginx的总配置文件
cd /etc/nginx
vim nginx.conf
  • 这里需要注意,可能没有vim,需要安装
apt-get update && apt-get install vim
  • 查看nginx的配置

image.png

  • 本次只是简单的看个静态页面,所以我们先去找conf.d目录
  • 因为都是默认配置,所以看看就可以

image.png

  • 中间的部分就是html部分
location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
  • 我们可以找到这个目录,去修改html

image.png

vim index.html
  • 修改成中文的时候,可能会出现乱码,我们需要修改两个地方

image.png

  • 一个是vim的配置文件,修改vimrc文件中的内容。文件地址 /etc/vim/vimrc
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
  • 个html加上这一行
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  • 使用nginx -t配置文件是否有效
nginx -t

image.png

三.最后

  • 服务器一般都会有默认安全组,需要去控制台,开发对应的端口好,比如80端口
  • 然后我们就可以愉快的访问页面了