前提条件

  • 一台云服务器(阿里云、腾讯云等的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页面放到 /home/nginx/www 文件夹下面;

在创建的 /home/nginx/conf 文件夹下面创建一个叫 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 {
  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 on;
 
  include /etc/nginx/conf.d/*.conf;

部署nginx

docker run -d -p 80:80 -p 443:443 --name nginx-server -v /home/nginx/www:/usr/share/nginx/html -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/logs:/var/log/nginx nginx  

命令说明:

-p 80:80: 将容器的 80 端口映射到主机的 80 端口。

-p 443:443: 将容器的 80 端口映射到主机的 443 端口。
--name nginx-server:将容器命名为 nginx-server。

-v /home/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。

-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。

-v /home/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。

启动之后便可以通过域名访问到我们的HTML页面了,但是还没完

修改nginx.conf

在我们刚刚创建的 nginx.conf 文件里面插入以下内容:(注意先不要重启)

server {
  listen    443 ssl;
  server_name fightingtop.cn www.fightingtop.cn;
  root     /usr/share/nginx/html;
  ssl_certificate   /ssl/certificate.pem;
  ssl_certificate_key /ssl/2832429_fightingtop.cn.key;
  ssl_session_timeout 5m;
  ssl_session_cache  shared:SSL:1m;
  ssl_ciphers     ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:aNULL:!MD5:!ADH:!RC4;
  ssl_protocols    TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
 
  location / {
    root  /usr/share/nginx/html;
    index index.html index.htm;
  }
}
 
server {
  listen 80;
  server_name fightingtop.cn www.fightingtop.cn;
  rewrite ^ https://$host$1 permanent;
}

将两个证书文件拷贝到nginx容器

先进入nginx容器在根目录创建一个ssl文件夹,用来放证书

docker exec -it aa5badebd38a /bin/bash<br data-filtered="filtered">cd /<br data-filtered="filtered">mkdir ssl

开始拷贝证书

docker cp /home/ssl/certificate.key aa5badebd38a:/ssl/
docker cp /home/ssl/certificate.pem aa5badebd38a:/ssl/

大功告成啦,重启完事!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

标签:
docker,启动,nginx,ssl配置

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com

评论“基于docker启动nginxssl配置”

暂无“基于docker启动nginxssl配置”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。