首页 > 系统相关 >【Nginx-2】使用Docker安装Nginx:快速搭建高性能Web服务器

【Nginx-2】使用Docker安装Nginx:快速搭建高性能Web服务器

时间:2024-12-11 13:03:37浏览次数:6  
标签:容器 Web nginx Nginx conf Docker docker

Nginx 是一款高性能的 Web 服务器和反向代理服务器,广泛应用于各种 Web 应用场景。使用 Docker 安装 Nginx 可以简化部署过程,提高环境一致性。下面将详细介绍如何使用 Docker 安装 Nginx,并配置一个简单的 Web 服务器。

1. 使用 Docker 安装 Nginx

Docker 是一个开源的容器化平台,它可以将应用程序及其依赖项打包到一个轻量级的容器中,使得应用程序可以在任何环境中一致地运行。使用 Docker 安装 Nginx 可以简化部署过程,避免复杂的依赖关系和环境配置问题。

1.1 拉取 Nginx 镜像

首先,我们需要从 Docker Hub 拉取 Nginx 镜像。Nginx 官方提供了多个版本的镜像,您可以根据需要选择合适的版本。

docker pull nginx:latest

上述命令将拉取最新版本的 Nginx 镜像。如果您需要特定版本的 Nginx,可以将 latest 替换为相应的版本号,例如 1.21.6

1.2 运行 Nginx 容器

拉取镜像后,我们可以使用以下命令运行 Nginx 容器:

docker run --name=nginx --restart=always -p 8080:80 -d nginx:latest

解释:

  • --name=nginx: 为容器指定一个名称 nginx
  • -d: 以后台模式运行容器。
  • -p 8080:80: 将主机的 8080 端口映射到容器的 80 端口。
  • nginx:latest: 指定使用的镜像版本。

运行上述命令后,Nginx 容器将启动,并在主机的 8080 端口提供服务。

2. 访问 Nginx 服务器

打开浏览器,访问 http://192.168.200.138:8080/,您将看到 Nginx 的欢迎页面,表示 Nginx 服务器已经成功运行。
在这里插入图片描述

3. 配置 Nginx

默认情况下,Nginx 使用容器内的配置文件。如果您需要自定义 Nginx 配置,可以将主机上的配置文件挂载到容器内。

  1. 在主机上创建一个 Nginx 配置文件,例如 nginx.conf
worker_processes  1;		
error_log  /var/log/nginx/error.log warn;
# 以上统称为全局块, 
# worker_processes他的数值越大,Nginx的并发能力就越强
# error_log 代表Nginx的错误日志存放的位置

events {
    worker_connections  1024;
}
# events块
# worker_connections它的数值越大,Nignx并发能力越强

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
		# location块
		# root:将接收到的请求根据/usr/share/nginx/html去查找静态资源
		# index: 默认去上述的路径中找到index.html或者index.htm
    }
	# server块
	# listen: 代表Nginx监听的端口号
	# localhost:代表Nginx接收请求的ip
}
# http块
# include代表引入一个外部的文件 -> /mime.types中放着大量的媒体类型
# include /etc/nginx/conf.d/*.conf; -> 引入了conf.d目录下的以.conf为结尾的配置文件
  1. 使用以下命令运行 Nginx 容器,并将配置文件挂载到容器内:

    docker run --name=nginx -d -p 8080:80 -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf nginx:latest
    

    解释:

    • -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf: 将主机上的 nginx.conf 文件挂载到容器内的 /etc/nginx/nginx.conf 路径。
  2. 重新启动 Nginx 容器:

    docker restart nginx
    

4. 管理 Nginx 容器

以下是一些常用的 Docker 命令,用于管理 Nginx 容器:

  • 查看容器状态:

    docker ps
    
  • 停止容器:

    docker stop nginx
    
  • 启动容器:

    docker start nginx
    
  • 删除容器:

    docker rm nginx
    

5. 总结

使用 Docker 安装 Nginx 可以简化部署过程,提高环境一致性。本文介绍了如何拉取 Nginx 镜像、运行 Nginx 容器、访问 Nginx 服务器以及配置 Nginx。通过这些步骤,您可以快速搭建一个高性能的 Web 服务器。

标签:容器,Web,nginx,Nginx,conf,Docker,docker
From: https://blog.csdn.net/weixin_39033358/article/details/144354276

相关文章

  • 基于Docker容器搭建maven私服 nexus
    1、docker执行将容器内部/var/nexus-data目录挂载到主机/data/nexus-data目录。dockerrun-d-p8081:8081--namenexus-v/data/nexus-data:/var/nexus-data--restart=always-e"INSTALL4J_ADD_VM_PARAMS=-Xms128m-Xmx512m-XX:MaxDirectMemorySize=512m-Djava.util.p......
  • Rancher证书到期并且docker不停重启怎么解决
    环境查看系统环境#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)#uname-aLinuxCentOS7K8SMaster020623.10.0-1160.105.1.el7.x86_64#1SMPThuDec715:39:45UTC2023x86_64x86_64x86_64GNU/Linux软件环境#rancher:v2.3.3#kubectlget......
  • 基于webGL的云层动画js插件
    这是一款基于webGL的云层动画js插件。该插件使用HTML5canvas和WebGLAPI,生成可控制的多层云彩动画特效。在线演示 下载  NPM安装npminstallklouds--save                  使用方法ES6语法:import*askloudsfrom'klouds'      ......
  • javaweb毕业设计项目 网上飞机票售票预订系统
    目录项目介绍具体实现截图开发核心技术:核心代码部分展示详细视频演示源码获取方式项目介绍本次设计的网上机票预订系统通过访问主页,可以实现用户管理、公告信息管理、航班信息管理、机票信息管理、订单信息管理、退订信息管理、兑换信息管理、系统管理等基本功能,为......
  • javaweb软件工程网络教育设计与实现3f4c8
    目录项目介绍具体实现截图开发核心技术:核心代码部分展示详细视频演示源码获取方式项目介绍在线课堂问答教学是由高校学生依据兴趣爱好自愿组成,按照章程自主开展在线课堂问答教学。在线课堂问答教学是实施素质教育的重要途径和有效方式,在加强校园文化建设、提高学生......
  • DataSophon1.2.1集成DataX&DataX-Web(多节点)
    DataSophon简单集成DataX&DataX-Web(多节点)DATAX部署环境准备JDK(1.8以上,推荐1.8)Python(2或3都可以,linux自带py2,py3执行脚本会报错,需要修改脚本)ApacheMaven3.x(CompileDataX,如果下载的是官方的压缩包[datax.tar.gz],不用安装这个,如果是在git拉的项目,打包时需要)安装......
  • DataSophon1.2.1集成DataX&DataX-Web(单节点)
    DataSophon集成DataX&DataX-Web(单节点)DATAX部署环境准备JDK(1.8以上,推荐1.8)Python(2或3都可以,linux自带py2,py3执行脚本会报错,需要修改脚本)ApacheMaven3.x(CompileDataX,如果下载的是官方的压缩包[datax.tar.gz],不用安装这个,如果是在git拉的项目,打包时需要)安装包编......
  • C# 在Windform程序中搭建Webapi
    1.在NuGet引用owinMicrosoft.AspNet.WebApi.OwinMicrosoft.AspNet.WebApi.OwinSelfHostMicrosoft.Owin.StaticFiles2.添加服务启动配置类 Startup1usingWebapiTest.App_Start;2usingMicrosoft.Owin.FileSystems;3usingMicrosoft.Owin.StaticFiles;4usingO......
  • spring-boot-starter-web 的依赖项
    以下是SpringBoot1.4.3.RELEASE版本中 spring-boot-starter-web 的依赖项及其功能描述:ArtifactIdPurposespring-boot-starter提供SpringBoot应用的核心依赖,包括自动配置支持和日志功能,以简化SpringBoot应用的开发。spring-boot-starter-tomcat提供嵌入式......
  • Selenium IDE:Web自动化测试的得力助手
    SeleniumIDE:Web自动化测试的得力助手在快速迭代的软件开发环境中,自动化测试已成为确保软件质量的重要一环。SeleniumIDE作为一款开源的Web自动化测试工具,以其简单易用、功能强大的特点,成为了许多测试人员的首选。本文将详细介绍SeleniumIDE的基本概念、安装方法、使用方......