主頁 > 知識庫 > 基于docker啟動nginxssl配置

基于docker啟動nginxssl配置

熱門標簽:百度競價點擊價格的計算公式 智能手機 美圖手機 檢查注冊表項 硅谷的囚徒呼叫中心 阿里云 使用U盤裝系統(tǒng) 網站建設

前提條件

  • 一臺云服務器(阿里云、騰訊云等的centOS)
  • 服務器上面要有docker(安裝方法這里不做介紹)
  • 一個域名
  • ssl證書(兩個文件:一個key后綴,一個pem后綴;生成方法很多這里不再介紹)

下載最新的nginx的docker image

docker pull nginx:latest

創(chuàng)建目錄 nginx, 用于存放后面的相關東西

mkdir -p /home/nginx/www /home/nginx/logs /home/nginx/conf

把我們的靜態(tài)HTML頁面放到 /home/nginx/www 文件夾下面;

在創(chuàng)建的 /home/nginx/conf 文件夾下面創(chuàng)建一個叫 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:將我們自己創(chuàng)建的 www 目錄掛載到容器的 /usr/share/nginx/html。

-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:將我們自己創(chuàng)建的 nginx.conf 掛載到容器的 /etc/nginx/nginx.conf。

-v /home/nginx/logs:/var/log/nginx:將我們自己創(chuàng)建的 logs 掛載到容器的 /var/log/nginx。

啟動之后便可以通過域名訪問到我們的HTML頁面了,但是還沒完

修改nginx.conf

在我們剛剛創(chuàng)建的 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容器在根目錄創(chuàng)建一個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啟動nginxssl配置》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266