dokcer 安装nginx 并配置SSl 挂载项目到指定目录

第一步拉取 nginx

docker pull nginx

在你想要的位置创建文件夹:

mkdir nginx && cd $_ && mkdir -p {ssl,config,logs}

可以通过xftp上传你的ssl证书到你刚刚创建的ssl目录
在这里插入图片描述

第二部:文件预加载

1.创建配置模板

这一步是先创建一个nginx容器,然后获取一个内部配置的模板,方便我们修改以后,等会重新启动启动一个容易指定挂载你修改后的配置

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

2.copy文件

## 这三条代码不要同时执行,一行一行的来
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/config/
docker cp nginx:/etc/nginx/conf.d /usr/local/nginx
docker cp nginx:/usr/share/nginx/html /usr/local/nginx

3.停止并删除容器

docker stop nginx
docker rm nginx

第三部:修改配置

打开我们刚刚copy出来的nginx/config下面的配置文件 nginx.conf
直接把我这段代码复制进去(已经配置了80强制跳转443)

user  nginx;
worker_processes  auto;
 
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
    client_max_body_size 100m;
	include mime.types;
 
	server {
        listen 80;
        server_name www.****.com;  # 修改成你的网站域名
        rewrite ^(.*) https://$server_name$1 permanent;
    }
	
	server {
	listen 443 ssl;  # 1.1版本后这样写
        server_name www.****.com; # 修改成你的网站域名
		
        ssl_certificate /etc/nginx/ssl/****.pem;  # 这里填写你的nginx内部映射地址 ,你只需呀吧****替换成你的域名证书名称就行了
        ssl_certificate_key /etc/nginx/ssl/****.key; # 同上
		
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
		
		ssl_session_cache shared:SSL:1m;
 
        fastcgi_param  HTTPS        on;
        fastcgi_param  HTTP_SCHEME     https;
		
		
		
		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;
			try_files $uri $uri/ /index.html;
		}
	}
 
	# 引入扩展配置(可以细分服务nginx)
    include /etc/nginx/conf.d/*.conf;
}

最后启动容器

docker run --name nginx_yyfront -p 443:443 -p 80:80 -v /data/yyfront/nginx/dist:/usr/share/nginx/html -v /usr/local/nginx/config/nginx.conf:/etc/nginx/nginx.conf/ -v /usr/local/nginx/logs:/var/log/nginx/ -v /usr/local/nginx/ssl:/etc/nginx/ssl/  --restart=always nginx
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值