From 4df5cbe6308eda443ca10802999556379b568660 Mon Sep 17 00:00:00 2001 From: Stille Date: Fri, 18 Jun 2021 21:54:27 +0800 Subject: [PATCH] Update to support docker compose --- README.md | 10 ++++++++++ docker-compose.yml | 12 ++++++++++++ vhost/nginx-docker.sample.conf.bak | 8 +++++++- vhost/yourdomain.com.sample.conf.bak | 20 +++++++++++++------- 4 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 docker-compose.yml diff --git a/README.md b/README.md index 7c92b5e..ad6a949 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ docker 快速部署 nginx 环境,适用于 HTML 页面站点,简单 Web 测试环境以及反向代理 docker 容器等需求. ## 部署 +### docker 在 root 目录下 git clone 本仓库用来挂载相关配置文件 ```shell cd ~ @@ -18,6 +19,14 @@ docker run -d --name=nginx --restart=always \ nginx ``` +### docker compose +```shell +cd ~ +git clone https://github.com/stilleshan/nginx.git +cd nginx +docker-compose up -d +``` + ## 说明 `~/nginx/conf` 用于存放`nginx 主配置`文件 > conf 目录下为官方 nginx.conf 配置文件,已新增 include vhost 目录以方便挂载多站点配置文件. @@ -33,3 +42,4 @@ docker run -d --name=nginx --restart=always \ ## 链接 [Docker 打造支持快速部署和迁移的 Nginx 环境](https://www.ioiox.com/archives/91.html) + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9f5d8fa --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: "3" +services: + nginx: + image: nginx + container_name: nginx + volumes: + - ./conf/nginx.conf:/etc/nginx/nginx.conf + - ./vhost:/etc/nginx/conf.d/vhost + - ./ssl:/etc/nginx/ssl + - ./html:/usr/share/nginx/html + network_mode: host + restart: always diff --git a/vhost/nginx-docker.sample.conf.bak b/vhost/nginx-docker.sample.conf.bak index da273c5..9bf2a21 100644 --- a/vhost/nginx-docker.sample.conf.bak +++ b/vhost/nginx-docker.sample.conf.bak @@ -1,5 +1,5 @@ upstream dockername { - server 127.0.0.1:8080; # 端口改为docker容器提供的端口 + server 127.0.0.1:8080; } server { @@ -16,6 +16,12 @@ server { ssl_certificate /etc/nginx/ssl/none.cer; ssl_certificate_key /etc/nginx/ssl/none.key; + # ssl_stapling on; + # ssl_stapling_verify on; + # ssl_trusted_certificate /etc/nginx/ssl/none.cer; + # resolver 8.8.8.8 8.8.4.4 valid=60s ipv6=off; + # resolver_timeout 5s; + # access_log /var/log/nginx/dockername_access.log combined; # error_log /var/log/nginx/dockername_error.log; diff --git a/vhost/yourdomain.com.sample.conf.bak b/vhost/yourdomain.com.sample.conf.bak index 40a468e..bc4c269 100644 --- a/vhost/yourdomain.com.sample.conf.bak +++ b/vhost/yourdomain.com.sample.conf.bak @@ -1,17 +1,17 @@ server { listen 80; - #listen [::]:80; + # listen [::]:80; server_name www.yourdomain.com ; index index.html index.htm index.php default.html default.htm default.php; root /usr/share/nginx/html/www.yourdomain.com; # return 301 https://www.yourdomain.com$request_uri; - #error_page 404 /404.html; + # error_page 404 /404.html; # Deny access to PHP files in specific directory - #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; } + # location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { @@ -38,14 +38,14 @@ server server { listen 443 ssl http2; - #listen [::]:443 ssl http2; + # listen [::]:443 ssl http2; server_name www.yourdomain.com ; index index.html index.htm index.php default.html default.htm default.php; root /usr/share/nginx/html/www.yourdomain.com; -# if ($host = 'yourdomain.com') { -# return 301 https://www.yourdomain.com$request_uri; -# } + # if ($host = 'yourdomain.com') { + # return 301 https://www.yourdomain.com$request_uri; + # } ssl_certificate /etc/nginx/ssl/none.cer; ssl_certificate_key /etc/nginx/ssl/none.key; @@ -57,6 +57,12 @@ server # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048 # ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem; + # ssl_stapling on; + # ssl_stapling_verify on; + # ssl_trusted_certificate /etc/nginx/ssl/none.cer; + # resolver 8.8.8.8 8.8.4.4 valid=60s ipv6=off; + # resolver_timeout 5s; + #error_page 404 /404.html; # Deny access to PHP files in specific directory