一、启动容器

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. get_template_part()调用自定义模板|wordpress函数

    我们在用wordpress开发主题的时候,可能需要调用一段固定的代码比如左侧菜单,这段代码会在主页.栏目页.文章页用到,如果直接写入每个页面模板是没有问题,但是如果要改左侧菜单一个链接那就要改三次,很 ...

  2. C# 反射(转)

    什么是反射 Reflection,中文翻译为反射.        这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’.‘模块(Module)’.‘类型 ...

  3. Jmeter扩展自定义函数

    步骤1.导入lib\ext下ApacheJMeter_core.jar和ApacheJMeter_functions.jar 步骤2.新建function的类的package声明必须已".f ...

  4. 手写队列以及stl中队列的使用

    一,手写队列. struct queue { ; ,rear=,a[maxn]; void push(int x) { a[++rear]=x; } void pop() { first++; } i ...

  5. Linux grep 查找字符所在文件(grep详解)

    查找字符所在文件 grep -ir "S_ROLE"  ./* -i 不区分大小写 -r 查找字符出处 -a   --text   #不要忽略二进制的数据. -A<显示行数& ...

  6. Eclipse 打包运行maven项目

    https://www.cnblogs.com/tangshengwei/p/6341462.html      

  7. pgloader 学习(三)快速使用

    pgloader 支持多种数据源数据的加载,以下列出简单的操作命令,后边会有详细的使用说明 csv 格式内容加载 预备说明 需要先在pg 数据库创建表 create table districts_l ...

  8. python 使用xpath解析含有命名空间(xmlns)的xml

    解决办法: from lxml import etree xml = etree.parse("./cee.xml") root = xml.getroot() print(roo ...

  9. 洛谷 P3905 道路重建 题解

    P3905 道路重建 题目描述 从前,在一个王国中,在\(n\)个城市间有\(m\)条道路连接,而且任意两个城市之间至多有一条道路直接相连.在经过一次严重的战争之后,有\(d\)条道路被破坏了.国王想 ...

  10. 导入eclipse有Unbound classpath variable: 'M2_REPO报错的解决方法

    Eclipse maven of the project reported in Unbound classpath variable: 'M2_REPO /**/***/***. jar' But ...