• docker安装配置nginx


    https://hub.docker.com/searchq=nginx&type=image
    一、查看docker是否安装nginx

    docker images
    
    • 1

    二、安装nginx

    docker pull nginx
    
    • 1

    三、运行nginx镜像

    docker run --name mynginx -p 80:80 -d nginx
    
    • 1

    四、查看运行结果

    docker ps
    
    • 1

    在这里插入图片描述
    网页访问,浏览器输入虚拟机IP:端口号地址回车,就可以看到 “Welcome to nginx!”

    centos开放的端口并设置

    firewall-cmd --zone=public --list-ports #查看所有开放的端口
    firewall-cmd --zone=public --add-port=8080/tcp --permanent   # 开放5672端口
    firewall-cmd --zone=public --remove-port=8080/tcp --permanent  #关闭5672端口
    firewall-cmd --reload   # 配置立即生效
    
    systemctl start/stop/restart firewalld.service #打开/关闭/重启防火墙
    firewall-cmd --state #查看防火墙状态
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    五、把nginx 配置文件映射到虚拟机(每次改配置都需要到镜像里改,太麻烦!!!)
    (1)本地创建管理目录

    mkdir -p /data/nginx
    mkdir -p /data/nginx/www 
    mkdir -p /data/nginx/conf
    mkdir -p /data/nginx/logs
    
    • 1
    • 2
    • 3
    • 4

    (2)将容器中的相应文件copy到刚创建的管理目录中

    docker cp 6f37f231a7c1:/etc/nginx/nginx.conf /data/nginx/
    docker cp 6f37f231a7c1:/etc/nginx/conf.d /data/nginx/conf/
    docker cp 6f37f231a7c1:/usr/share/nginx/html/ /data/nginx/www/
    docker cp 6f37f231a7c1:/var/log/nginx/ /data/nginx/logs/
    注:docker cp 6f37f231a7c1中的 "6f37f231a7c1" 为容器ID(docker ps可查看)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (3)停止并移除容器

    docker stop 6f37f231a7c1 #停止容器
    docker rm 6f37f231a7c1 #移除容器
    
    • 1
    • 2

    (4)再次启动容器并作目录挂载

    docker run --name nginx -p 80:80 -v /data/nginx/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/www/:/usr/share/nginx/html/ -v /data/nginx/logs/:/var/log/nginx/ -v /data/nginx/conf/:/etc/nginx/conf.d --privileged=true -d nginx
    
    • 1

    ps:-p 80:80 端口进行映射,将本地 80端口映射到容器内部的 80 端口。

    六、我自己测试的配置文件nginx.conf配置

    user  nginx;
    worker_processes  auto;
    
    error_log  /var/log/nginx/error.log notice;
    pid        /var/run/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
    
        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  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
    
        #gzip  on;
    	
    	upstream mynginx{
            server 192.168.100.164:1111 weight=1;
            server 192.168.100.164:2222 weight=1;
        }
    	server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                #root   html;
                proxy_pass http://mynginx;
                index index.html index.htm;
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ .php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ .php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /.ht {
            #    deny  all;
            #}
        }
    
        include /etc/nginx/conf.d/*.conf;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    【面试经典150 | 哈希表】有效的字母异位词
    Java面向对象(封装,继承,多态,接口)
    Zookeeper入门及集群环境搭建
    Java -【字符串,数组,哈希表】常用操作
    AttributeError: ‘version_info‘ object has no attribute ‘__version__‘
    排序并去重操作
    大数据周会-本周学习内容总结017
    【单片机】14-I2C通信之EEPROM
    前端面试题
    C# Winform编程(6)高级控件
  • 原文地址:https://blog.csdn.net/m0_67392811/article/details/126082607