• 技术文章 >运维 >Docker

    带你搞懂怎么基于Docker安装Nginx搭建静态服务器

    长期闲置长期闲置2022-02-15 17:50:02转载132
    本篇文章给大家带来了关于怎么基于docker安装Nginx搭建静态服务器的相关知识,使用nginx作为静态服务器是很常见的情况,下面主要就是讲通过docker安装管理我们的nginx,并配置ssl证书来开启HTTPS访问,希望对大家有帮助。

    大家需要一台服务器,静态服务器配置需求不算很高,推荐1核2G及以上。

    一、安装 Docker

    linux服务器使用curl下载快速安装的shell脚本

    curl -fsSL get.docker.com -o get-docker.sh

    下载完成后,可以ls命令查看一下。已经存在的话,使用sh命令执行这个脚本

    sh get-docker.sh

    注意如果不是root用户,需要使用sudo su获取超级管理员权限。

    安装完成后启动一下Docker Server

    systemctl start docker

    使用docker version命令能看到ClientServer就启动成功了。

    二、使用 Docker 安装 Nginx

    1. 先运行一次 nginx,为了拷贝容器内配置文件到本地

    docker run -d -p 80:80 --name nginx \
     -v /home/nginx/html:/usr/share/nginx/html \
     -v /home/nginx/logs:/var/log/nginx \
     nginx:latest

    2. 拷贝容器内配置文件到本地

    docker container cp nginx:/etc/nginx /home/nginx/
    cd /home/nginx
    mv nginx conf

    3. 删除之前的容器

    docker stop nginx
    docker rm nginx

    4. 根据本地配置文件运行新容器

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

    如果不需要配置ssl证书开启https访问,此时就可以把这个nginx当作普通静态服务器使用了。

    其中/home/nginx中的几个文件夹:

    conf: nginx的配置文件,具体配置可以看官网

    html: 放静态资源,如html、css、js

    logs: 日志文件夹,访问的日志可以在其中查看

    改了配置文件,记得通过docker restart nginx重启下nginx

    三、配置 SSL 证书开启 HTTPS 访问

    1. 在云服务厂商申请 SSL 证书

    我是在腾讯云申请的SSL证书,提交申请资料了,会让配置一个txt类型的域名解析,然后等待通过就行。

    申请通过后,下载nginx服务器类型的证书。

    image.png

    2. 把证书解压后上传到证书文件夹

    conf/conf.d创建cert证书文件夹

    cd /home/nginx/conf/conf.d
    mkdir cert

    把刚才下载的证书上传到这个文件夹

    3. 修改 nginx 配置开启 HTTPS 访问

    vi /home/nginx/conf/conf.d/default.conf

    写入以下内容

    server {
        #SSL 访问端口号为 443
        listen 443 ssl;
        #填写绑定证书的域名
        server_name 0101.ml;
        #证书文件名称
        ssl_certificate /etc/nginx/conf.d/cert/0101.ml_bundle.pem;
        #私钥文件名称
        ssl_certificate_key /etc/nginx/conf.d/cert/0101.ml.key;
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        location / {
        #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
            root /usr/share/nginx/html;
            index  index.html index.htm;
        }
    }
    
    server {
            listen 80;
            #填写绑定证书的域名
            server_name falser.top;
            #把http的域名请求转成https
            return 301 https://$host$request_uri;
    }

    需要改的地方:

    server_name: 改为自己的域名(两处)

    ssl_certificate: .crt后缀的证书文件

    ssl_certificate_key: .key后缀的证书私钥文件

    推荐学习:《docker视频教程

    以上就是带你搞懂怎么基于Docker安装Nginx搭建静态服务器的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:docker
    上一篇:解析docker怎么搭建lnmp环境(php7.4 + nginx ) 下一篇:Docker镜像原理之联合文件系统和分层理解(实例详解)
    PHP编程就业班

    相关文章推荐

    • docker容器占用多少内存怎么看• docker更新容器使用什么命令• docker中的lamp是什么• docker的核心组件有哪些• 技术解答之Pipeline整合Docker容器

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网