Linux Docker 安装Nginx

 1.21、查看可用的Nginx版本

访问Nginx镜像库地址:https://hub.docker.com/_/nginx

2、拉取指定版本的Nginx镜像

docker pull nginx:latest   #安装最新版

docker pull nginx:1.25.3   #安装指定版本的Nginx

3、查看本地镜像

docker images 

4、根据镜像创建并运行容器

docker run -d --name=mynginx -p 8099:80 -d nginx:latest

 5、安装成功:

在浏览器中访问 192.168.43.10:8099  访问Nginx页面192.168.43.10是我们虚拟机的静态IP地址

6、通过以下命令执行一个新的容器,进入正在运行的Nginx容器: 

docker exec -it mynginx /bin/bash       #mynginx是你nginx的容器名称

7、在容器内,使用以下命令查看Nginx版本:

命令:nginx -v                 #查看nginx版本

命令:exit                        #退出容器

8、nginx.conf的配置

# 根据系统资源情况设置worker进程数量:这里设置为2,如果想根据系统资源情况自动设置worker进程数量:worker_processes  auto;
worker_processes  2;

# 指定错误日志的位置
error_log  logs/error.log;

# 指定 nginx 的主进程 ID 存储位置
pid        logs/nginx.pid;

# events 块定义了事件模型和连接数配置
events {
    use epoll;
    worker_connections  2048;
}

# http 块是 nginx 配置的主要部分,包含了 http 相关的配置
http {
	# 引入 mime.types 文件,该文件定义了 MIME 类型映射
    include       mime.types;
	
	# 设置默认 MIME 类型为 application/octet-stream
    default_type  application/octet-stream;
	
	# 设置日志格式 main,记录客户端访问日志
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
					  
	# 指定访问日志的存储位置和使用的日志格式
    access_log  logs/access.log  main;
	
	# 开启 sendfile 功能,提高文件传输性能
    sendfile        on;
	
	# 如果客户端连接非常快速,则可能启用 tcp_nopush,否则请注释掉此行
    # tcp_nopush     on;
	
	# 客户端与服务器之间的连接保持时间,超过这个时间将会自动关闭连接
    keepalive_timeout  65;
	
  # gzip压缩功能设置:如果不需要开启 gzip 压缩功能,可以将此行注释
    gzip on;
    gzip_min_length 1k;
    gzip_buffers    4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 6;
    gzip_types text/html text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
    gzip_vary on;
​
  # http_proxy 设置
    client_max_body_size   10m;
    client_body_buffer_size   128k;
    proxy_connect_timeout   75;
    proxy_send_timeout   75;
    proxy_read_timeout   75;
    proxy_buffer_size   4k;
    proxy_buffers   4 32k;
    proxy_busy_buffers_size   64k;
    proxy_temp_file_write_size  64k;
  # 设定负载均衡后台服务器列表 
    upstream target_servers {
        server 192.168.43.218:8099;
        server 192.168.43.219:8099;
        server 192.168.43.220:8099;
    }
  # 很重要的虚拟主机配置
    server {
        listen       80;
        server_name  itoatest.example.com;
        root   /apps/oaapp;
        charset utf-8;
        access_log  logs/host.access.log  main;
        
		# 我们的静态资源一般都是css、js、html、图片、字体等资源,像这类资源请求我们可以在nginx中使用后缀匹配的方式来路由;
        # 静态资源路由
        location ~* .(css|js|html|xhtml|gif|jpg|jpeg|png|ico)$ {
            root /usr/share/nginx/html;
            index index.html index.xhtml;
        }
		# 上面我们已经把静态资源全部处理完毕,那么剩下的就是动态请求了;另外我们还需要配置nginx把该动态请求路由到哪个目标服务上去;
		# 假如我们的目标服务为http://192.168.43.8099  那么下面的代码设置为:proxy_pass http://192.168.43.8099;
		# 假如我们的目标服务为集群部署                那么下面的代码设置为:proxy_pass http://target_servers;
        # 动态请求
        location / {
            proxy_pass http://target_servers;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Scheme $scheme;
        }
    }
}

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值