手机建设中网站首页,照明网站模板,做企业网站 需要用服务器吗,ps教程自学网下载Nginx镜像的获取
直接从Docker Hub拉取Nginx镜像通过Dockerfile构建Nginx镜像后拉取
二者区别
主要区别在于定制化程度和构建过程的控制#xff1a; 直接拉取Nginx镜像#xff1a; 简便性#xff1a;直接使用docker pull nginx命令可以快速拉取官方的Nginx镜像。这个过程…Nginx镜像的获取
直接从Docker Hub拉取Nginx镜像通过Dockerfile构建Nginx镜像后拉取
二者区别
主要区别在于定制化程度和构建过程的控制 直接拉取Nginx镜像 简便性直接使用docker pull nginx命令可以快速拉取官方的Nginx镜像。这个过程非常简单适合快速部署标准的Nginx服务。标准化拉取的是Nginx官方维护的镜像保证了环境的一致性和可靠性。这个镜像经过了官方的优化和安全更新。限制官方镜像提供了Nginx的标准安装可能不包含特定的模块或配置。如果需要特殊配置或额外的模块可能需要在容器启动后手动进行调整。 通过Dockerfile构建Nginx镜像 定制化通过编写Dockerfile可以在构建过程中定制Nginx的安装包括添加特定的模块、配置文件、环境变量等。这为满足特定需求提供了灵活性。自动化构建过程可以自动化执行包括从基础镜像安装Nginx、应用配置文件、复制网站内容等。这使得整个部署过程可重复、可追踪。维护如果需要更新配置或添加功能可以直接修改Dockerfile和相关文件然后重新构建镜像。这简化了更新和维护过程。构建时间根据Dockerfile的复杂度构建镜像可能需要一些时间。对于频繁的构建和测试这可能会稍微增加开发周期。
总结直接拉取Nginx镜像适合快速部署和标准使用场景而通过Dockerfile构建Nginx镜像适合需要特定配置、模块或自动化部署流程的场景。选择哪种方式取决于项目的具体需求和开发流程。
Nginx关键目录
配置目录 (/etc/nginx/): 存放Nginx的主配置文件nginx.conf以及其他配置文件。这个目录通常包括 nginx.conf主配置文件sites-available/存放每个站点的配置文件这些文件需要被链接到sites-enabled/才能被Nginx读取。sites-enabled/存放链接到sites-available/中站点配置文件的符号链接Nginx会读取这里的配置来启动网站。conf.d/用于存放其他额外的配置文件Nginx会自动加载这个目录下的配置文件。 - default.conf : 默认服务器配置文件 - *.conf额外的配置文件 日志目录 (/var/log/nginx/): 存放访问日志和错误日志。 access.log默认的访问日志文件记录所有请求的详细信息。error.log默认的错误日志文件记录启动、运行错误以及请求处理的问题。 网站内容目录 (/usr/share/nginx/html): 默认的网站根目录存放网站的静态文件如HTML、CSS、JavaScript等。可执行文件目录 (/usr/sbin/nginx): 存放Nginx的可执行文件。客户端临时文件目录 (/var/cache/nginx/): 存放客户端请求的临时文件比如用于缓存的文件。SSL证书目录: 存放SSL证书和私钥的目录通常这个目录不是固定的需要在Nginx的SSL配置中指定证书和私钥文件的路径。
直接从Docker Hub拉取Nginx镜像
拉取最新的Nginx官方镜像
docker pull nginx如果你想要拉取特定版本的Nginx镜像可以通过指定标签来完成。例如要拉取Nginx 1.19版本的镜像可以使用
docker pull nginx:1.19查看已下载的镜像
docker images配置Nginx 通常所有配置都应该通过Docker卷volumes或绑定挂载bind mounts来管理以便于配置的持久化和更新。 所以先在宿主机上创建配置文件 再将其挂载到nginx
/home/nginx/nginx.conf
worker_processes 1; # 工作进程数量通常设置为CPU核心数events {worker_connections 1024; # 每个工作进程的最大连接数
}http {include /etc/nginx/mime.types; # 包含MIME类型定义default_type application/octet-stream; # 默认文件类型sendfile on; # 启用高效文件传输模式keepalive_timeout 65; # 保持连接的超时时间server {listen 80; # 监听的端口server_name localhost;location / {root /usr/share/nginx/html; # 静态文件的根目录index index.html index.htm; # 默认文件}error_page 500 502 503 504 /50x.html; # 错误页面location /50x.html {root /usr/share/nginx/html; # 错误页面的根目录 }}
}/home/nginx/html/index.html
html langenheadmeta charsetUTF-8 /meta http-equivContent-Security-Policy contentscript-src self unsafe-inline unsafe-eval; /meta nameviewport contentwidthdevice-width, initial-scale1.0 /titlemy nginx test/title/headbodydivhello nginx html/divh1edit html/h1/body/html
运行Nginx
docker run --name my-nginx-test3 -p 80:80 -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/html:/usr/share/nginx/html -d nginx运行容器docker run –name: 为容器指定一个唯一的名称可以通过名称来引用容器而不是使用容器的ID -p映射端口[宿主机端口访问端口][nginx容器内端口] -v 绑定挂载配置 [宿主机路径]:[容器内路径] -d后台运行返回运行成功的镜像id
查看运行的容器
docker ps运行后修改配置文件重启生效
重载Nginx配置
docker exec 容器name nginx -s reload重启Nginx容器
docker restart nginx浏览器输入ip端口
通过Dockerfile构建Nginx镜像后拉取
注意执行上下文路径
创建Dockerfile创建一个Dockerfile来构建您的Nginx镜像。
# 使用Nginx官方镜像作为基础镜像
FROM nginx:alpine# 将dist目录包含index.html和其他静态文件复制到Nginx容器的静态文件目录
# ./dist相对执行构建上下文的路径
COPY ./dist/ /usr/share/nginx/html/# 将自定义的Nginx配置文件复制到Nginx容器此步骤将修改nginx完整的主配置文件
COPY nginx/nginx.conf /etc/nginx/nginx.conf准备Nginx配置文件nginx.conf创建一个Nginx配置文件来定义如何服务您的静态文件。 同上面的 /home/nginx/nginx.conf 文件准备dist/index.html文件 html langenheadmeta charsetUTF-8 /meta http-equivContent-Security-Policy contentscript-src self unsafe-inline unsafe-eval; /meta nameviewport contentwidthdevice-width, initial-scale1.0 /titledockerfile nginx test/title/headbodydivhello use dockerfile nginx html/div/body/html构建和运行Docker容器使用Dockerfile和Nginx配置文件构建Docker镜像并运行容器。 构建Docker镜像 docker build -t my-dockerfile-nginx -f Dockerfile .-t 选项用于指定镜像的名称和标签 . 最后的点号表示当前目录是构建上下文 -f指定dockerfile所在位置若在当前执行目录可不用指定 运行Docker容器开放9999端口访问 docker run --name dockerfile-nginx -p 9999:80 -d my-dockerfile-nginx浏览器输入ip端口