docker安装nginx并配置ssl的方法步骤

最近想在吃灰了一年多的服务器上,安装一下docker,结果始终找不到合适的yum源,后来经过一番百度才知道,原来centos8要凉了,所以好多镜像站都移除了CentOS 8的源。

没办法,短暂的思考之后,决定重装一下操作系统,换成centos7.9,好在服务器上没啥重要东西,只要给blog挪个窝就行了。

重装系统之后,安装docker过程非常顺利。

开始安装nginx。

1、直接拉取最新的nginx镜像

docker pull nginx

2、新建一些目录,把nginx容器内的相关文件夹挂载到宿主机上,主要方便改写配置,其次是删除容器,这些文件不会丢失

mkdir -p /usr/local/nginx/{conf,html,logs,ssl}

3、启动一个nginx容器,用来cp一些文件,放到步骤2新建的文件夹里面

docker run --name nginx -p 80:80 -d nginx

4、把容器内的配置文件复制到宿主机内

可以简单看一下容器内文件夹详情,顺便说个题外话,直接使用yum安装nginx-1.20.x版本的话,nginx目录都是放在/usr/local/nginx下面的,但是docker安装的还是和老版本nginx一样的目录。

docker cp a25b9f301349:/etc/nginx/nginx.conf /usr/local/nginx/conf/
docker cp a25b9f301349:/etc/nginx/conf.d /usr/local/nginx/ 

5、停止当前nginx容器,并删除

docker stop a25b9f301349
docker rm a25b9f301349

6、生成证书并放到宿主机ssl目录下面

7、修改配置文件

可以看到配置文件有两个,现在只需要修改default.conf文件就可以了。原因嘛可以看下图:

vim conf/nginx.conf

就是说不管叫不叫default.conf,只要在conf.d目录下面,都会被加载

server {
    listen       80;
    listen  [::]:80;
    server_name  www.telami.cn;

    rewrite ^(.*) https://$server_name$1 permanent;

}

server {
    listen       443 ssl;
    server_name  www.telami.cn;

    ssl_certificate      /etc/nginx/ssl/telami.cn.pem;
    ssl_certificate_key  /etc/nginx/ssl/telami.cn.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   Host              $http_host;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

8、启动新的nginx容器

docker run \
--name nginx \
-p 443:443 -p 80:80 \
-v /usr/local/nginx/logs:/var/log/nginx \
-v /usr/local/nginx/html:/usr/share/nginx/html \
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/conf.d:/etc/nginx/conf.d \
-v /usr/local/nginx/ssl:/etc/nginx/ssl/  \
--privileged=true -d --restart=always nginx

简单解释一下:

  • -v:挂载宿主机的目录,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录;
  • -d:后台运行;
  • --restart=always:重启docker时,自动重启改容器;

说到这里,有一个点需要注意一下,就是上面的defaul.conf文件中,出现的绝对路径都是容器内的路径,而不是宿主机的,比如说配置ssl时:

ssl_certificate      /etc/nginx/ssl/telami.cn.pem;
ssl_certificate_key  /etc/nginx/ssl/telami.cn.key;

只不过在run时,-v /usr/local/nginx/ssl:/etc/nginx/ssl/,把目录挂载起来了,让容器可以读到证书,如果说改成这样的配置:

ssl_certificate /usr/local/nginx/ssl/telami.cn.pem;

nginx是无法启动的,会报错找不到文件。

到此这篇关于docker安装nginx并配置ssl的方法步骤的文章就介绍到这了,更多相关docker安装nginx配置ssl内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 基于docker启动nginxssl配置

    前提条件 一台云服务器(阿里云.腾讯云等的centOS) 服务器上面要有docker(安装方法这里不做介绍) 一个域名 ssl证书(两个文件:一个key后缀,一个pem后缀:生成方法很多这里不再介绍) 下载最新的nginx的docker image docker pull nginx:latest 创建目录 nginx, 用于存放后面的相关东西 mkdir -p /home/nginx/www /home/nginx/logs /home/nginx/conf 把我们的静态HTML页面放到 /h

  • 搭建docker内网私服的方法(docker-registry with nginx&ssl on centos)

    本文介绍了搭建docker内网私服的方法,分享给大家.具体如下: 主要思路: 1. Docker Registry 说明 关于如何创建和使用本地仓库,其实已经有很多文章介绍了.因为docker技术正处于发展和完善阶段,所以有些文章要么内容已经过时,要么给出了错误的配置,导致无法正常创建仓库.本文记录的是个人完整的搭建过程,docker version为1.1.2. 官方提供了Docker Hub网站来作为一个公开的集中仓库.然而,本地访问Docker Hub速度往往很慢,并且很多时候我们需要一个

  • docker安装nginx并配置ssl的方法步骤

    最近想在吃灰了一年多的服务器上,安装一下docker,结果始终找不到合适的yum源,后来经过一番百度才知道,原来centos8要凉了,所以好多镜像站都移除了CentOS 8的源. 没办法,短暂的思考之后,决定重装一下操作系统,换成centos7.9,好在服务器上没啥重要东西,只要给blog挪个窝就行了. 重装系统之后,安装docker过程非常顺利. 开始安装nginx. 1.直接拉取最新的nginx镜像 docker pull nginx 2.新建一些目录,把nginx容器内的相关文件夹挂载到宿

  • CentOS7安装Nginx并配置自动启动的方法步骤

    1.官网下载安装包 http://nginx.org/en/download.html,选择适合Linux的版本,这里选择最新的版本,下载到本地后上传到服务器或者centos下直接wget命令下载. 切换到/usr/local目录,下载软件包 # cd /usr/local # wget http://nginx.org/download/nginx-1.11.5.tar.gz 2.安装nginx 先执行以下命令,安装nginx依赖库,如果缺少依赖库,可能会安装失败,具体可以参考文章后面的错误提

  • 使用Docker安装Nginx并配置端口转发问题及解决方法

    使用docker安装并运行nginx命令: docker run --name=nginx -p 80:80 -d docker.io/nginx 使用命令: docker exec -it nginx /bin/bash 进入容器可查看到几个重要的文件 配置文件:nginx.conf 在 /etc/nginx/nginx.conf 日志文件: /var/log/nginx/access.log /var/log/nginx/error.log 使用cat命令打开nginx.conf root@

  • docker安装nginx并配置通过https访问的方法

    1. 下载最新的nginx的docker image $ docker pull nginx:latest 2. 启动nginx容器 运行如下命令来启动nginx container docker run --detach \ --name wx-nginx \ -p 443:443\ -p 80:80 \ -v /home/evan/workspace/wxserver/nginx/data:/usr/share/nginx/html:rw\ -v /home/evan/workspace/w

  • Centos7.3 安装部署Nginx并配置https的方法步骤

    安装环境 1. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译 编译依赖 gcc 环境: yum install gcc-c++ 2. PCRE pcre-devel 安装 安装pcre-devel 是使用 pcre 开发的一个二次开发库.: yum install -y pcre pcre-devel 3. zlib 安装 zlib 库提供了很多种压缩和解压缩的方式, nginx 可以使用 zlib 对 http 包的内容进行 gzip: yum install -y zlib

  • 使用Docker安装phabricator的配置和使用方法

    我这里使用的是ubuntu16.04的系统. 使用docker进行安装 我们使用https://hub.docker.com/r/redpointgames/phabricator/ 中提供的镜像. 在则这个镜像中已经为我们提供了多种插件,不过需要我们自己提供一个mysql数据库的地址. 所以我们可以先使用docker安装一个mysql数据库.可以参考:https://www.jb51.net/article/148880.htm 按照上面的教程,我们安装了mysql,账号为root,密码为12

  • Nginx配置SSL和WSS步骤介绍

    目录 前言 一.Nginx安装 1.下载Nginx 2.安装依赖 3.编译安装Nginx 二.SSL配置 三.WSS配置 前言 近期,由于要发布微信小程序,小程序的发布必须使用已备案的服务器域名及https的请求方式,之前已经备案过一台服务器了,此次小程序的后台服务部署在另一台服务器上,又不想重新部署后台服务,所以想到在已经备案过的服务器上安装Nginx并配置SSL,通过Nginx反向代理到另一台服务器. 一.Nginx安装 笔者使用的是腾讯云服务器Centos 7.5, 安装教程网上有很多,笔

  • Nginx 下配置SSL证书的方法

    1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下: 下载 Nginx 0.7.64 版本,解压 进入解压目录: 复制代码 代码如下: wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz tar zxvf nginx-0.7.64.tar.gz cd nginx-0.7.64 如果要更改heade

  • windows下快速安装nginx并配置开机自启动的方法

      nginx已经是我们日常开发中在常用不过的工具了,简单快捷的安装和配置,大大减少了我们部署调试浪费的时间,本文给各位同学介绍一下nginx正常安装流程,以及开机自启动配置,记得提前收藏,莫要书到用时方恨少~   废话少说,上车! 一.windows系统下Nginx安装启动流程: 这是我们在正常环境中,Windows下Nginx的安装及启动方式 1.到nginx官网下载相应版本(http://nginx.org/en/download.html),我这里放到了D:\work\nginx\路径下

  • docker安装nginx容器的方法

    目录 1.自定义网络相关命令 2.nginx是什么 Nginx+tomcat是目前主流的java web架构 3.安装nginx 4.docker实战之通过nginx镜像来部署SPA项目 5.nginx.conf讲解 1.自定义网络相关命令 1.创建自定义网络       docker network create --driver bridge --subnet 192.168.0.1/16 --gateway 192.168.0.1 mynet       参数说明       --driv

随机推荐