Docker安装Nginx

#docker pull nginx:latest
(第一次启动Docker-Nginx)
#docker run --detach \
--publish 80:80 \
--restart always \
--volume /data/nginx/html:/usr/share/nginx/html:ro \
--volume /data/nginx/conf.d:/etc/nginx/conf.d:ro \
--volume /data/nginx/logs/:/var/log/nginx \
--volume /etc/localtime:/etc/localtime \
nginx:latest

停止Docker的Nginx

#docker stop ee6646198d59

删除Docker的Nginx容器

#docker rm ee6646198d59

修改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 { ##
# Basic Settings
## sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off; #关闭显示nginx版本 server_names_hash_bucket_size 64;
# server_name_in_redirect off; include /etc/nginx/mime.types;
default_type application/octet-stream; ##
# SSL Settings
## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
# 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";
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";
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off; # Requires nginx >= 1.5.9
# ssl_stapling on; # Requires nginx >= 1.3.7
ssl_stapling_verify on; # Requires nginx => 1.3.7 ##
# Log Settings
## 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; ##
# Gzip Settings
## gzip on;
gzip_vary on;
gzip_min_length 1k;
gzip_buffers 4 32k;
gzip_disable "msie6";
gzip_disable "MSIE [1-6].";
gzip_http_version 1.1;
gzip_comp_level 3;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/javascript application/json;
##
# Proxy Headers
## include /etc/nginx/conf.d/*.conf; ##
# filter ip
##
include /etc/nginx/blocksip.conf; #过滤IP地址 ##
# Virtual Host Configs
## include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*.conf; #配置各个站点的信息 }

nginx.conf

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

# cat proxy.conf

proxy.conf文件内容

proxy_redirect          off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

proxy.conf

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

# cat gitlab.aaa.conf 

gitlab.aaa.conf文件内容

server {
listen 80;
server_name gitlab.aaa.net;(按域名调度)
server_tokens off; access_log /var/log/nginx/gitlab_log.log; location / {
proxy_pass http://172.17.0.2; (Docker容器里面的IP地址)
}
}

Linux获取Docker容器里面IP地址

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

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

重新启动Docker-Nginx容器

#docker restart 8611f472ebac

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

#nginx -t && nginx -s reload

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

1.启动nginx:

start nginx 或 nginx.exe

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

nginx.exe -s stop          或         nginx.exe -s quit

3.检查

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

4.重启

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. 启动Eclipse时,弹出JVM terminated. Exit code=127..错误的解决方案

    在Linux环境下,启动Eclipse,会弹出并报如下的错误,且不能启动该工具 JVM terminated. Exit code=127/eclipse/jdk1.7.0_71/bin/java-D ...

  2. Linux命令(七)之上传/共享/挂载文件至Linux系统中

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  3. 用python 30行代码,搞定一个简单截图调取的百度识字功能

    在做一个数据标注过程中人工需要识别文字. 想了想写了一个小脚本, 大致过程这样的. 截图功能写了好久也没写明白,索性直接调用第三方的截图工具了,在采用qq或者微信截图时,截图完成后保存大致保存在剪切板 ...

  4. 漏洞复现|Dubbo反序列化漏洞CVE-2019-17564

    01漏洞描述 - Apache Dubbo支持多种协议,官方推荐使用Dubbo协议.Apache Dubbo HTTP协议中的一个反序列化漏洞(CVE-2019-17564),该漏洞的主要原因在于当A ...

  5. nvcatmysql安装注册流程以及远程登陆配置步骤

    前言:网络上下载工具良莠不齐,找到合适的比较困难.因为nvcat回收了网络上的大部分注册码,这个nvcatformysql下载到可以破解的费了点时间,最后经过配置成功远程登陆到mysql,在此记录一下 ...

  6. Java调用阿里云短信接口发送手机验证码

    前五步可参考阿里云服务文档:https://help.aliyun.com/document_detail/59210.html?spm=a2c4g.11174283.4.1.2b152c42DoJ7 ...

  7. jpa写原生sql-EntityManager

    废话不多说 package com.meeno.trainsys.meeting.service; import com.google.common.collect.Lists; import com ...

  8. 一 · 路由事件的三种方式/策略(冒泡 直接 隧道)

    WPF中的路由事件是沿着VisualTree传递的,作用是用来调用应用程序的元素树上的各种监听器上的处理程序. (1)冒泡,这种事件处理方式是从源元素向上级流过去,直到到达根节点即顶层节点,一般为最外 ...

  9. C#基础知识---Linq操作XML文件

    概述 Linq也就是Language Integrated Query的缩写,即语言集成查询,是微软在.Net 3.5中提出的一项新技术. Linq主要包含4个组件---Linq to Objects ...

  10. 分布式链路追踪系统Sleuth和ZipKin

    1.微服务下的链路追踪讲解和重要性 简介:讲解什么是分布式链路追踪系统,及使用好处 进行日志埋点,各微服务追踪. 2.SpringCloud的链路追踪组件Sleuth 1.官方文档 http://cl ...