Docker安装Nginx

一、普通版本nginx(http请求80端口)

1、拉取最新的nginx镜像资源

docker pull nginx

2、启动nginx容器

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

3、新建宿主机挂载主目录

/home/nginx # 挂载主目录
/home/nginx/static #静态资源目录
/home/nginx/logs #日志文件存放目录
/home/nginx/certs # 存放SSL证书的目录
在这里插入图片描述

mkdir /home/nginx /home/nginx/static /home/nginx/logs /home/nginx/certs

4、拷贝nginx配置目录资源到宿主机

docker cp nginx:/etc/nginx /home

5、停止nginx服务

docker stop nginx

6、删除nginx容器

docker rm nginx

7、启动nginx并挂载宿主机对应的目录

docker run -itd --name nginx -p 443:443 -p 80:80 -v /home/nginx:/etc/nginx -v /home/nginx/static:/usr/share/nginx/html -v /home/nginx/logs:/var/log/nginx nginx

8、查看nginx是否启动成功

docker ps -a

没有域名证书的同学到此也就可以了,用自己的电脑访问nginx是否运行
http://服务器IP

二、安全证书版本(https请求443端口)

1、准备文件

去域名商那下载域名证书nginx版本,并且将域名证书解压后的文件上传到/home/nginx/certs目录下
在这里插入图片描述

2、前往nginx的配置文件修改

cd /home/nginx/conf.d/

2、使用vi命令编辑配置文件

vi ./default.conf

3、使用i进入编辑文件

server {
    listen       80;
    listen  [::]:80;
    server_name  你的域名,例如:(www.kouleen.cn);
    # 示例
    #server_name  www.kouleen.cn;
    rewrite ^(.*) https://$server_name$1 permanent;
}
#HTTPS server
server {
   listen       443 ssl;
   server_name  你的域名,例如:(www.kouleen.cn);
   # 示例
   #server_name  www.kouleen.cn;

   ssl_certificate      /etc/nginx/certs/域名证书,例如:(6758201_kouleen.cn.pem);
   ssl_certificate_key  /etc/nginx/certs/域名证书,例如:(6758201_kouleen.cn.key);
   # 示例
   #ssl_certificate      /etc/nginx/certs/6758201_kouleen.cn.pem;
   #ssl_certificate_key  /etc/nginx/certs/6758201_kouleen.cn.key;

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

   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 / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 不能代理80和443端口
        proxy_pass http://127.0.0.1:要代理的端口(例如:8080);
        # 示例
        #proxy_pass http://127.0.0.1:8761;
        client_max_body_size 100m; #客户端允许上传的最大文件大小
        client_body_buffer_size 128k; #允许客户端请求的最大单文件字节数
        proxy_connect_timeout 5; #nginx跟后端服务器连接超时时间
        proxy_read_timeout 60; #连接成功后,后端服务器响应时间
        proxy_send_timeout 5; #后端服务器发送时间
        proxy_buffer_size 4k; #设置nginx代理服务器保存用户头信息的缓冲区大小
        proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
        proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
        proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传递请求,而不缓冲到磁盘
        proxy_ignore_client_abort on; #不允许代理端主动关闭连接
    }
   error_page   500 502 503 504  /50x.html;
   location = /50x.html {
         root   /usr/share/nginx/html;
    }
}

接着按住键盘Esc键和“:”键输入wq保存退出,当然也可以把文件下载下来然后改完上传覆盖文件

4、重启nginx刷新配置文件

docker restart nginx

5、查看nginx是否成功启动

在这里插入图片描述

docker ps -a

出现如上图状态为UP为启动成功

6、打开浏览器查看网页是否有锁标识

在这里插入图片描述
http://IP

是不是很简单,遇到问题的小伙伴可以找我分析哦 ,点击QQ联系我吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kouleen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值