• 学习docker 部署nginx记录


    docker pull nginx

    $ docker pull nginx
    $ docker run --name nginx-test -p 8081:80 -d nginx
    

    docker config

    $ mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
    
    $ docker cp  d624b3debbc9(namenginx-test容器id 运行删除括号内容):/etc/nginx/nginx.conf ~/nginx/conf
    

    • www: 目录将映射为 nginx 容器配置的虚拟目录。
    • logs: 目录将映射为 nginx 容器的日志目录。
    • conf: 目录里的配置文件将映射为 nginx 容器的配置文件。

    docker nginx 挂载相应的文件

    $ docker run -d -p 8082:80 
         --name nginx-test-web 
         -v ~/nginx/www:/usr/share/nginx/html 
         -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf 
         -v ~/nginx/logs:/var/log/nginx 
         nginx
    

    • -p 8082:80: 将容器的 80 端口映射到主机的 8082 端口。

    • --name nginx-test-web:将容器命名为 nginx-test-web。

    • ~/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。

    • -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。

    • -v ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。

    部署dist

    将实现准备好的静态网页放置在~/nginx/www

    $ docker kill -s HUP container-name
    $ docker restart container-name
    

    HTML5 History 模式 设置重定向

    nginx

    location / {
      try_files $uri $uri/ /index.html;
    }
    

    nginx.conf 经测试文件可以使用

    
    user  nginx;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log warn;
    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;
    
        include /etc/nginx/conf.d/*.conf;
    
        server {
            listen 80 default_server;
            listen [::]:80 default_server;
    
            root /usr/share/nginx/html;
    
            index index.html;
    
            #   server_name you.server.com;
    
            location / {
                try_files $uri $uri/ @rewrites;
            }
    
            location @rewrites {
                rewrite ^(.+)$ /index.html last;
            }
    
            location ~* .(?:ico|css|js|gif|jpe?g|png)$ {
                # Some basic cache-control for static files to be sent to the browser
                expires max;
                add_header Pragma public;
                add_header Cache-Control "public, must-revalidate, proxy-revalidate";
            }
        }
    }
    
  • 相关阅读:
    MSDN for 2010的那些麻烦事
    CPtrList操作--插入,删除特定元素,删除全部
    如何绕过ORA00701错误和降低bootstrap对象的高水位
    ORA00600:[1112]内部错误&ROW CACHE ENQUEUE LOCK一例
    CRS5008: Invalid attribute value
    ORA00600[kjpsod1]&ORA44203错误一例
    runInstaller ignoreInternalDriverError
    RMAN CURSOR_SHARING=EXACT脚本
    SQL调优:带函数的谓词导致CBO Cardinality计算误差
    11g Real Application Testing:Database Replay使用方法
  • 原文地址:https://www.cnblogs.com/WNpursue/p/10848194.html
Copyright © 2020-2023  润新知