Docker安装Nginx

  1. #docker pull nginx:latest
  1. (第一次启动Docker-Nginx
  2. #docker run --detach \
  3. --publish 80:80 \
  4. --restart always \
  5. --volume /data/nginx/html:/usr/share/nginx/html:ro \
  6. --volume /data/nginx/conf.d:/etc/nginx/conf.d:ro \
  7. --volume /data/nginx/logs/:/var/log/nginx \
  8. --volume /etc/localtime:/etc/localtime \
  9. nginx:latest

停止Docker的Nginx

  1. #docker stop ee6646198d59

删除Docker的Nginx容器

  1. #docker rm ee6646198d59

修改nginx.conf文件

  1. user nginx;
  2. worker_processes 1;
  3.  
  4. error_log /var/log/nginx/error.log warn;
  5. pid /var/run/nginx.pid;
  6.  
  7. events {
  8. worker_connections 1024;
  9. }
  10.  
  11. http {
  12.  
  13. ##
  14. # Basic Settings
  15. ##
  16.  
  17. sendfile on;
  18. tcp_nopush on;
  19. tcp_nodelay on;
  20. keepalive_timeout 65;
  21. types_hash_max_size 2048;
  22. server_tokens off; #关闭显示nginx版本
  23.  
  24. server_names_hash_bucket_size 64;
  25. # server_name_in_redirect off;
  26.  
  27. include /etc/nginx/mime.types;
  28. default_type application/octet-stream;
  29.  
  30. ##
  31. # SSL Settings
  32. ##
  33.  
  34. ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
  35. ssl_prefer_server_ciphers on;
  36. # ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
  37. ssl_ciphers "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
  38. ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
  39. ssl_session_cache shared:SSL:10m;
  40. ssl_session_tickets off; # Requires nginx >= 1.5.9
  41. # ssl_stapling on; # Requires nginx >= 1.3.7
  42. ssl_stapling_verify on; # Requires nginx => 1.3.7
  43.  
  44. ##
  45. # Log Settings
  46. ##
  47.  
  48. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  49. '$status $body_bytes_sent "$http_referer" '
  50. '"$http_user_agent" "$http_x_forwarded_for"';
  51.  
  52. access_log /var/log/nginx/access.log main;
  53.  
  54. ##
  55. # Gzip Settings
  56. ##
  57.  
  58. gzip on;
  59. gzip_vary on;
  60. gzip_min_length 1k;
  61. gzip_buffers 4 32k;
  62. gzip_disable "msie6";
  63. gzip_disable "MSIE [1-6].";
  64. gzip_http_version 1.1;
  65. gzip_comp_level 3;
  66. gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/javascript application/json;
  67. ##
  68. # Proxy Headers
  69. ##
  70.  
  71. include /etc/nginx/conf.d/*.conf;
  72.  
  73. ##
  74. # filter ip
  75. ##
  76. include /etc/nginx/blocksip.conf; #过滤IP地址
  77.  
  78. ##
  79. # Virtual Host Configs
  80. ##
  81.  
  82. include /etc/nginx/conf.d/*.conf;
  83. include /etc/nginx/sites-enabled/*.conf; #配置各个站点的信息
  84.  
  85. }

nginx.conf

设置Nginx通过代理(proxy.conf)

  1. # cat proxy.conf

proxy.conf文件内容

  1. proxy_redirect off;
  2. proxy_set_header Host $host;
  3. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  4. client_max_body_size 10m;
  5. client_body_buffer_size 128k;
  6. proxy_connect_timeout 90;
  7. proxy_send_timeout 90;
  8. proxy_read_timeout 90;
  9. proxy_buffer_size 4k;
  10. proxy_buffers 4 32k;
  11. proxy_busy_buffers_size 64k;
  12. proxy_temp_file_write_size 64k;

proxy.conf

某个站点的配置(gitlab.tidebuy.net)

  1. # cat gitlab.aaa.conf

gitlab.aaa.conf文件内容

  1. server {
  2. listen 80;
  3. server_name gitlab.aaa.net;(按域名调度)
  4. server_tokens off;
  5.  
  6. access_log /var/log/nginx/gitlab_log.log;
  7.  
  8. location / {
  9. proxy_pass http://172.17.0.2; (Docker容器里面的IP地址)
  10. }
  11. }

Linux获取Docker容器里面IP地址

  1. #docker inspect --format '{{ .NetworkSettings.IPAddress }}' 容器ID
  2. #docker inspect 容器ID

  1. (第二次启动Docker-Nginx,增加nginx.conf文件)
  2. #docker run --detach \
  3. --publish 80:80 \
  4. --restart always \
  5. --volume /data/nginx/html:/usr/share/nginx/html:ro \
  6. --volume /data/nginx/nginx.conf:/etc/nginx/nginx.conf \
  7. --volume /data/nginx/conf.d:/etc/nginx/conf.d \
  8. --volume /data/nginx/logs/:/var/log/nginx \
  9. --volume /etc/localtime:/etc/localtime \
  10. nginx:latest

重新启动Docker-Nginx容器

  1. #docker restart 8611f472ebac

或者进入容器重新加载Nginx配置

  1. #nginx -t && nginx -s reload

在Windows下操作nginx,需要打开 cmd 进入到nginx的安装目录下

1.启动nginx:

  1. start nginx nginx.exe

2.停止nginx(stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息)

  1. nginx.exe -s stop nginx.exe -s quit

3.检查

  1. nginx -t 修改nginx配置后,执行检查配置是否正确

4.重启

  1. nginx -s reload 重启

Docker安装Nginx(含:Windows启动、重启、停止)的更多相关文章

  1. Docker 安装、卸载、启动、停止

    1.1 查看当前系统的内核版本 查看当前系统的内核版本是否高于 3.10 英文文档:https://docs.docker.com/ 中文文档:https://docs.docker-cn.com/  ...

  2. Linux下安装nginx,以及启动和停止

    1.安装 安装nginx之前,首先确保系统已经安装了依赖:g++.gcc.openssl-devel.pcre-devel和zlib-devel软件 yum install gcc-c++ yum - ...

  3. Nginx常用命令(启动/重启/停止/测试配置文件/重新加载配置文件)

    Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的. Nginx 的参数包括有如下几个: 使用: /usr/local/ngin ...

  4. Windows 安装nginx并开机启动

    Win安装nginx并 开机启动 下载nginx安装包 nginx-1.12.2.zip,解压到D盘. https://pan.baidu.com/s/1InQa527yq35Q68c73RBb-A# ...

  5. Windows Service 学习系列(二):C# windows服务:安装、卸载、启动和停止Windows Service几种方式

    一.通过InstallUtil.exe安装.卸载.启动.停止Windows Service 方法一 1.以管理员身份运行cmd 2.安装windows服务 切换cd C:\Windows\Micros ...

  6. mac环境下使用docker安装nginx

    前言 距离上一篇文章已经很长时间,近期实在事情太多了,也没来得及继续更新一些新的内容.现在开发使用的工作实在太多了,小编实在忍受不了windows那样卡机的状态,于是最近换了一个mac电脑,虽然做开发 ...

  7. Linux、Docker安装Nginx

    Docker安装Nginx #docker images nginx #docker search nginx #docker pull nginx #docker run -it -p 8084:8 ...

  8. 阿里云CentOS7.3服务器通过Docker安装Nginx

    前言 小编环境: 阿里云CentOS7.3服务器 docker 下面分享一次小编在自己的阿里云CentOS7.3服务器上使用Docker来安装Nginx的一次全过程 温馨小提示: 如果只是希望单纯使用 ...

  9. (五) Docker 安装 Nginx

    参考并感谢 官方文档 https://hub.docker.com/_/nginx 下载nginx镜像(不带tag标签则表示下载latest版本) docker pull nginx 启动 nginx ...

随机推荐

  1. Jetpack MVVM 实战项目,附带源码+视频,收藏!

    从读者的反馈来看,近期大部分安卓开发已跳出舒适圈,开始尝试认识和应用 Jetpack MVVM 到实际的项目开发中. 只可惜,关于 Jetpack MVVM,网上多是 东拼西凑.人云亦云.通篇贴代码  ...

  2. js绕过-前端加密绕过

    前端加密解密 目录 前端加密解密 前言 前端加密定位方法 加密绕过实例 其他情况 前言 日常我们在工作时做安全测试或者日常的漏洞挖掘中,往往会遇到请求加密,参数加密的情况,而且绝大部分都是前端加密的情 ...

  3. Esxi安装Kali2并开启远程桌面

    Kali安装 登录Vmware Esxi页面,选择"创建/注册虚拟机",步骤和创建其它Linux主机类似(Esxi的安装和介绍可以参考上一篇文章) 不同的地方是,客户机操作系统版本 ...

  4. MobSF移动安全扫描平台环境搭建与试用

    MobSF简介 MobSF(Mobile-Security-Framework)是一种开源自动化的移动应用程序(Android / iOS / Windows)安全测试框架,能够执行静态,动态和恶意软 ...

  5. Servlet中的HttpServletResponse 类

    HttpServletResponse 类的作用:              理解:顾名思义 就是响应客户端的内容, HttpServletResponse 类和 HttpServletRequest ...

  6. Java JVM【笔记】

    Java JVM[笔记] Java的平台无关性是如何实现的? Java源码首先被编译成字节码,再由不同的平台的JVM进行解析,Java语言在不同的平台上运行时不需要进行重新编译,Java虚拟机在执行字 ...

  7. 【笔记】特征脸(PCA在人脸识别领域的应用)

    人脸识别与特征脸(简单介绍) 什么是特征脸 特征脸(Eigenface)是指用于机器视觉领域中的人脸识别问题的一组特征向量,该方法被认为是第一种有效的人脸识别方法. PCA的具体实现思想见 [笔记]主 ...

  8. 徒手打造基于Spark的数据工厂(Data Factory):从设计到实现

    在大数据处理和人工智能时代,数据工厂(Data Factory)无疑是一个非常重要的大数据处理平台.市面上也有成熟的相关产品,比如Azure Data Factory,不仅功能强大,而且依托微软的云计 ...

  9. STM32—DMA存储器到外设

    DMA目录 DMA简介 DMA框图 DMA传输数据分析 1.传输的方向 2.传输的数量 3.传输的模式 代码部分 DMA初始化结构体 USART配置函数 DMA配置函数 主函数 DMA简介 DMA(D ...

  10. (一)Linux之目录结构

    Linux之目录结构 目录 Linux之目录结构 一.概述 一.基本介绍 二.具体的目录结构(不用背,知道即可) Linux /usr目录 Linux /var 目录 一.概述 学习 Linux,不仅 ...