Nginx
拉取镜像
bash
docker pull nginx
运行镜像
注意
这里我们需要把 nginx 的配置文件做映射,这里只是运行了容器,待会还要重新运行,具体配置在重新运行 Nginx
bash
docker run --name nginx -p 80:80 -d nginx
拷贝文件
详情
nginx.conf
基础配置conf.d
详细配置log
日志html
web 目录
bash
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf \
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf.d \
docker cp nginx:/var/log/nginx /home/nginx/log \
docker cp nginx:/usr/share/nginx/html /home/nginx/html
删除容器,开始重新配置
bash
docker rm -f nginx
重新运行 Nginx
bash
docker run --name nginx -p 80:80 -p 443:443 \
--restart=always \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html -d nginx
将 Docker 中的 Nginx 容器重新启动即可访问了
配置 SSL 证书
注意
如果没有 /home/nginx/ssl
目录则创建该目录
bash
mkdir /home/nginx/ssl
bash
docker cp /home/nginx/ssl nginx:/etc/nginx
配置 Nginx 中的 SSL 协议
bash
vi /home/nginx/conf/conf.d/default.conf
写入配置
bash
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name ddlazy.cn;
#请填写证书文件的相对路径或绝对路径
ssl_certificate /etc/nginx/ssl/ddlazy.cn.pem; // [!code ++]
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key /etc/nginx/ssl/ddlazy.cn.key; // [!code ++]
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
}
给 Nginx 配置代理转发到网关 可选
bash
location = / {
proxy_pass http://172.17.0.1:3333;
}
location / {
root /front; // 前端文件路径,绝对路径
index index.html; // hash 模式只配置这行支持访问 html 文件就可以了
try_files $uri $uri/ /index.html; // history 模式下需要加一行这个
}
location /demo { // 子级目录
alias /front/demo;
index index.html;
try_files $uri $uri/ /demo/index.html;
}
给 SSL 配置路径映射
Nginx 时间同步系统时间
bash
docker cp /usr/share/zoneinfo/Asia/Shanghai nginx:/etc/localtime
贡献者
暂无相关贡献者