• <table id="caya2"></table>
  • Docker搭建nginx

    Docker搭建nginx

    青杉 1,202 2021-11-17

    Docker搭建nginx

    • 拉取镜像
    docker pull nginx
    
    • 文件目录

      • 启动基础容器用于资源拷贝
      docker run -d --name=nginx01 nginx
      
      • 创建本地目录,用于存放Nginx的相关文件信息.
      # mkdir -p ~/nginx/logs ~/nginx/conf  ~/nginx/conf/conf.d ~/nginx/www
      
      • www: 目录将映射为 nginx 容器配置的虚拟目录。
      • logs: 目录将映射为 nginx 容器的日志目录。
      • conf: 目录里的配置文件将映射为 nginx 容器的配置文件。
      日志文件位置:/var/log/nginx
      配置文件位置: /etc/nginx
      资源存放的位置: /usr/share/nginx/html
      
      • 拷贝配置文件
      	docker cp [容器id]:/etc/nginx ./conf
      
      ?```
      cd ~/nginx/conf
      #nginx.conf文件复制到conf目录下
      docker cp nginx01:/etc/nginx/nginx.conf nginx.conf
      #把容器中的default.conf文件复制到conf目录下
      docker cp nginx01:/etc/nginx/conf.d/default.conf ~/nginx/conf/conf.d  
      #删除镜像
      docker rm -f nginx01 
      	?```
      
    • 部署命令

      docker run --rm -d -p 80:80 --name proxy_nginx \
        -v ~/nginx/www:/usr/share/nginx/html \
        -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
        -v ~/nginx/logs:/var/log/nginx \
        nginx
      
    • 修改default.conf文件

      server {
              listen       80;         #监听的端口
              server_name  www.一级域名.com;    #监听的URL
              location / {
                 proxy_redirect off;
                  proxy_set_header Host $host;
                  proxy_set_header X-Real-IP $remote_addr;
                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                  proxy_pass http://127.0.0.1:6666;#这里写需要转发的地址
              }
          }
          server {
              listen       80;         #监听的端口
              server_name  web.一级域名.com;    #监听的URL
              location / {
                 proxy_redirect off;
                  proxy_set_header Host $host;
                  proxy_set_header X-Real-IP $remote_addr;
                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                  proxy_pass http://127.0.0.1:8082;#这里写需要转发的地址
              }
          }
      server {
              listen       80;         #监听的端口
              server_name  api.一级域名.com;    #监听的URL
              location / {
                 proxy_redirect off;
                  proxy_set_header Host $host;
                  proxy_set_header X-Real-IP $remote_addr;
                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                  proxy_pass http://127.0.0.1:9999;#这里写需要转发的地址
              }
          }
      

    https

    运行nginx代理

    docker run --detach \
        --restart always \
        --name proxy_nginx \
        -p 443:443\
        -p 80:80 \
        -v /root/nginx/data:/usr/share/nginx/html:rw\
        -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf/:rw\
        -v /root/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf:rw\
        -v /root/nginx/logs:/var/log/nginx/:rw\
        -v /root/nginx/ssl:/ssl/:rw\
        -d nginx
    

    修改default.conf文件

    server {
            listen       80;         #监听的端口
            listen  443 ssl;
            server_name  www.defult.com;    #监听的URL
    
            # 增加ssl
        #ssl on;        #如果强制HTTPs访问,这行要打开
        ssl_certificate /ssl/www.defult.com.pem;
        ssl_certificate_key /ssl/www.defult.com.key;
    
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
    
         # 指定密码为openssl支持的格式
         ssl_protocols  SSLv2 SSLv3 TLSv1.2;
    
         ssl_ciphers  HIGH:!aNULL:!MD5;  # 密码加密方式
         ssl_prefer_server_ciphers  on;   # 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码
    
            location / {
               proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://127.0.0.1:8090;#这里写需要转发的地址
            }
        }
    

    强制https

    
    server {
    		listen 80;
    		server_name www.defult.com;
    		rewrite ^(.*)$ https://${server_name}$1 permanent; 
    	}
    	
    	server {
            listen  443 ssl;
            server_name  www.defult.com;    #监听的URL
    
            # 增加ssl
        #ssl on;        #如果强制HTTPs访问,这行要打开
        ssl_certificate /ssl/www.defult.com.pem;
        ssl_certificate_key /ssl/www.defult.com.key;
    
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
    
         # 指定密码为openssl支持的格式
         ssl_protocols  SSLv2 SSLv3 TLSv1.2;
    
         ssl_ciphers  HIGH:!aNULL:!MD5;  # 密码加密方式
         ssl_prefer_server_ciphers  on;   # 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码
    
            location / {
               proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://127.0.0.1:8090;#这里写需要转发的地址
            }
        }
    


    人成免费电影
  • <table id="caya2"></table>