基于docker启动nginxssl配置
前提条件
- 一台云服务器(阿里云、腾讯云等的centOS)
- 服务器上面要有docker(安装方法这里不做介绍)
- 一个域名
- ssl证书(两个文件:一个key后缀,一个pem后缀;生成方法很多这里不再介绍)
下载最新的nginx的dockerimage
dockerpullnginx:latest
创建目录nginx,用于存放后面的相关东西
mkdir-p/home/nginx/www/home/nginx/logs/home/nginx/conf
把我们的静态HTML页面放到/home/nginx/www文件夹下面;
在创建的/home/nginx/conf文件夹下面创建一个叫nginx.conf的文件如下:
usernginx; worker_processes1; error_log/var/log/nginx/error.logwarn; pid/var/run/nginx.pid; events{ worker_connections1024; } http{ include/etc/nginx/mime.types; default_typeapplication/octet-stream; log_formatmain'$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.logmain; sendfileon; #tcp_nopushon; keepalive_timeout65; #gzipon; include/etc/nginx/conf.d/*.conf;
部署nginx
dockerrun-d-p80:80-p443:443--namenginx-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/nginxnginx
命令说明:
-p80:80:将容器的80端口映射到主机的80端口。
-p443:443:将容器的80端口映射到主机的443端口。
--namenginx-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{ listen443ssl; server_namefightingtop.cnwww.fightingtop.cn; root/usr/share/nginx/html; ssl_certificate/ssl/certificate.pem; ssl_certificate_key/ssl/2832429_fightingtop.cn.key; ssl_session_timeout5m; ssl_session_cacheshared:SSL:1m; ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:aNULL:!MD5:!ADH:!RC4; ssl_protocolsTLSv1TLSv1.1TLSv1.2; ssl_prefer_server_cipherson; location/{ root/usr/share/nginx/html; indexindex.htmlindex.htm; } } server{ listen80; server_namefightingtop.cnwww.fightingtop.cn; rewrite^https://$host$1permanent; }
将两个证书文件拷贝到nginx容器
先进入nginx容器在根目录创建一个ssl文件夹,用来放证书
dockerexec-itaa5badebd38a/bin/bash
开始拷贝证书
dockercp/home/ssl/certificate.keyaa5badebd38a:/ssl/
dockercp/home/ssl/certificate.pemaa5badebd38a:/ssl/
大功告成啦,重启完事!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。