一、启动容器

docker run --detach

--name wx-nginx

-p 443:443

-p 80:80

-v /home/nginx/data:/usr/share/nginx/html:rw

-v /home/nginx/config/nginx.conf:/etc/nginx/nginx.conf/:rw

-v /home/nginx/config/conf.d/default.conf:/etc/nginx/conf.d/default.conf:rw

-v /home/nginx/logs:/var/log/nginx/:rw

-v /home/nginx/ssl:/ssl/:rw

-d nginx

--name:容器名称

-p:端口映射(本地端口:容器端口)

-v:配置文件映射(本地文件/目录:容器文件/目录),后面跟随权限

-d:后台运行

注意:此处直接运行默认本地创建的全部都是目录,需要创建如下文件

touch /home/nginx/config/nginx.conf

touch /home/nginx/config/conf.d/default.conf

二、编辑nginx配置文件

vim /home/nginx/config/nginx.conf

#运行nginx的用户

user nginx;

#启动进程设置成和CPU数量相等

worker_processes 1;

#全局错误日志及PID文件的位置

error_log /var/log/nginx/error.log warn;

pid /var/run/nginx.pid;

#工作模式及连接数上限

events {

#单个后台work进程最大并发数设置为1024

worker_connections 1024;

}

http {

#设定mime类型

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压缩

#gzip on;

include /etc/nginx/conf.d/*.conf;

}

vim /home/nginx/config/conf.d/default.conf

server {

listen 80; #侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉

listen 443 ssl;

server_name localhost; #域名

# 增加ssl

#ssl on; #如果强制HTTPs访问,这行要打开

ssl_certificate /ssl/server.crt;

ssl_certificate_key /ssl/server.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 / {

root /usr/share/nginx/html;

index index.html index.htm;

}

#重定向错误页面到 /50x.html

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /usr/share/nginx/html;

}

}

三、在/home/nginx/ssl目录生成证书

openssl req -new -x509 -newkey rsa:4096 -keyout server.key -out server.crt

四、重启docker容器

docker start wx-nginx

参考网站:https://www.jianshu.com/p/5f9bd492f186

docker下安装nginx并实现https访问的更多相关文章

  1. docker下安装nginx,启动ngixn,修改nginx配置等--超详细

    1.获取nginx版本 docker中nginx版本信息:https://hub.docker.com/_/nginx?tab=tags&page=1&ordering=last_up ...

  2. Ubuntu Nginx下配置网站ssl实现https访问

    最近在看  HTTP权威指南   看到介绍了HTTPS的ssl,自己就动手测试了下,将步骤记录下 HTTPS简介 什么是HTTPS?百科是这样解释的.HTTPS(全称:Hyper Text Trans ...

  3. 在Docker下部署Nginx

    在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_p ...

  4. Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL

    .简介: Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱.虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很多 ...

  5. windwos下安装nginx(转)

    1.windows下安装Nginx1.1 从nginx官网下载相应的安装包:http://nginx.org/  1.2 建议下载  下载稳定版 1.3 解压到相应的目录,比如我是e盘 然后修改目录名 ...

  6. 基于kail的docker下安装sqli-labs

    后面的关卡涉及到转码问题,比如空格,在Windows中会受到限制,比如24关的文件重命名问题,所以在这记录下在docker下安装sqli-labs,在linux下运行就不会受到限制. 参考链接:htt ...

  7. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  8. Linux centos7环境下安装Nginx

    Linux centos7环境下安装Nginx的步骤详解 1.    首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...

  9. 学习笔记(1)centos7 下安装nginx

    学习笔记(1)centos7 下安装nginx 这里我是通过来自nginx.org的nginx软件包进行安装的. 1.首先为centos设置添加nginx的yum存储库 1.通过vi命令创建一个rep ...

随机推荐

  1. HDU3109: Worms(字符串变换类 DP)

    pro:开始有一个字母虫,然后字母虫在每一天可以选择自己身上的部分字母变换,变换规则形如A->BC. 现状给定最终字母虫的字符串,求最少用了多少天. 如有规则A->BC,B->AC, ...

  2. fiddler抓取手机https请求详解

    前言: Fiddler是在 windows下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析,fiddler默认只能抓取http请求,需要配置和 ...

  3. SOLOR介绍

    https://www.cnblogs.com/ki16/p/11209508.html

  4. 【Java】《Java程序设计基础教程》第六章学习

    第六章 常用的工具包 6.1 java.lang包 6.1.1 Object类 Object类是一个超级类,是所有类的直接或间接父类. public boolean equals(Object obj ...

  5. IGC(Interleaved Group Convolutions)

    深度学习被引起关注是在2012年,用神经网络训练的一个分类模型在ImagNet上取得了第一名,而且其分类精度比第二名高出10多个点,当时所使用的模型为AlexNet,现在看来其为一个比较简单的网络,而 ...

  6. LeetCode 875. Koko Eating Bananas

    原题链接在这里:https://leetcode.com/problems/koko-eating-bananas/ 题目: Koko loves to eat bananas.  There are ...

  7. 手工部署yugabyte的几点说明

    ntp 时间同步 ntp 时间同步对于yugabyte 是一个比较重要的服务,需要注意时间的同步 YB-Master 个数的说明 原则 YB-Master 的个数,必须和复制因子的个数一样,同时mas ...

  8. 使用jstack命令查看CPU高占用的问题记录

    笔记: 1.top命令找出最高占用的进程(command为java) 2.查看高负载进程下的高负载线程:top -Hp [PID] (或 ps -mp PID -o THREAD,tid,time) ...

  9. SQL基础-过滤数据

    一.过滤数据 1.使用WHERE子句 过滤数据:关键字WHERE SELECT 字段列表 FROM 表名 WHERE 过滤条件; 过滤条件一般由要过滤的字段.操作符.限定值三部分组成: 如: SELE ...

  10. html 获取项目根路径

    html 获取项目根路径 function getContextPath(){ var pathName = document.location.pathname; //当前文件的绝度路径 var i ...