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. C++ //多继承语法 C++中允许一个类继承多个类

    1 //多继承语法 C++中允许一个类继承多个类 2 #include <iostream> 3 #include <string> 4 using namespace std ...

  2. Using Evernote with Wine on Mint

    Install Evernote Install Evernote in Wine: wine Evernote_xxx.exe; Backup Evernote Database File Loca ...

  3. Spring MVC+javamail实现邮件发送

    Spring MVC+javamail实现邮件发送 开启邮箱的POP3/SMTP服务(这里以QQ邮箱举例) 设置 --> 账户 -- > 开启POP3/STMP服务,然后得到一个授权码. ...

  4. MySQL高级查询 & 事务机制

    1.基础查询where 高级条件查询Where子句 SELECT empno,ename,sal,hiredate FROM t_tmp WHERE deptno=10 AND (sal+IFNULL ...

  5. Python语言系列-06-面向对象1

    楔子 #!/usr/bin/env python3 # author:Alnk(李成果) # 人狗大战例子引入面向对象 # 版本1 def hero(name, sex, hp, ce, level= ...

  6. 使用sklearn中的fetch_mldata的错误情况以及可能可行的解决方法

    使用sklearn中的fetch_mldata的错误情况以及可能可行的解决方法 在notebook使用的时候出现了报错 from sklearn.datasets import fetch_mldat ...

  7. Spring-Boot注入自定义properties文件配置

    创建wzq.properties wzq.properties注入User实体类中 @PropertySource(value = "classpath:wzq.properties&quo ...

  8. 3、二进制安装K8s之部署kube-apiserver

    二进制安装K8s之部署kube-apiserver 一.生成 kube-apiserver 证书 1.自签证书颁发机构(CA) cat > ca-config.json <<EOF ...

  9. Visual Studio调试器指南---多线程应用程序调试(一)

    线程是操作系统向其授予处理器时间的指令序列. 在操作系统中运行的每个进程都包含至少一个线程. 包含多个线程的进程称为多线程.有多个处理器.多核处理器或超线程进程的计算机可以同时运行多个线程. 使用多个 ...

  10. WPF---数据绑定之ItemsControl(三)

    一.Combox绑定 场景:定义多个Person,Person有Name和Age属性,将多个Person与Combox进行绑定,Combox中只显示Name信息,点击任意一个item,在左侧显示该条目 ...