Update to support docker compose

This commit is contained in:
Stille 2021-06-18 21:54:27 +08:00
parent 01fdcaedc1
commit 4df5cbe630
4 changed files with 42 additions and 8 deletions

View File

@ -2,6 +2,7 @@
docker 快速部署 nginx 环境,适用于 HTML 页面站点,简单 Web 测试环境以及反向代理 docker 容器等需求. docker 快速部署 nginx 环境,适用于 HTML 页面站点,简单 Web 测试环境以及反向代理 docker 容器等需求.
## 部署 ## 部署
### docker
在 root 目录下 git clone 本仓库用来挂载相关配置文件 在 root 目录下 git clone 本仓库用来挂载相关配置文件
```shell ```shell
cd ~ cd ~
@ -18,6 +19,14 @@ docker run -d --name=nginx --restart=always \
nginx nginx
``` ```
### docker compose
```shell
cd ~
git clone https://github.com/stilleshan/nginx.git
cd nginx
docker-compose up -d
```
## 说明 ## 说明
`~/nginx/conf` 用于存放`nginx 主配置`文件 `~/nginx/conf` 用于存放`nginx 主配置`文件
> conf 目录下为官方 nginx.conf 配置文件,已新增 include vhost 目录以方便挂载多站点配置文件. > 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) [Docker 打造支持快速部署和迁移的 Nginx 环境](https://www.ioiox.com/archives/91.html)

12
docker-compose.yml Normal file
View File

@ -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

View File

@ -1,5 +1,5 @@
upstream dockername { upstream dockername {
server 127.0.0.1:8080; # 端口改为docker容器提供的端口 server 127.0.0.1:8080;
} }
server { server {
@ -16,6 +16,12 @@ server {
ssl_certificate /etc/nginx/ssl/none.cer; ssl_certificate /etc/nginx/ssl/none.cer;
ssl_certificate_key /etc/nginx/ssl/none.key; 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; # access_log /var/log/nginx/dockername_access.log combined;
# error_log /var/log/nginx/dockername_error.log; # error_log /var/log/nginx/dockername_error.log;

View File

@ -1,17 +1,17 @@
server server
{ {
listen 80; listen 80;
#listen [::]:80; # listen [::]:80;
server_name www.yourdomain.com ; server_name www.yourdomain.com ;
index index.html index.htm index.php default.html default.htm default.php; index index.html index.htm index.php default.html default.htm default.php;
root /usr/share/nginx/html/www.yourdomain.com; root /usr/share/nginx/html/www.yourdomain.com;
# return 301 https://www.yourdomain.com$request_uri; # 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 # 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)$ location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{ {
@ -38,14 +38,14 @@ server
server server
{ {
listen 443 ssl http2; listen 443 ssl http2;
#listen [::]:443 ssl http2; # listen [::]:443 ssl http2;
server_name www.yourdomain.com ; server_name www.yourdomain.com ;
index index.html index.htm index.php default.html default.htm default.php; index index.html index.htm index.php default.html default.htm default.php;
root /usr/share/nginx/html/www.yourdomain.com; root /usr/share/nginx/html/www.yourdomain.com;
# if ($host = 'yourdomain.com') { # if ($host = 'yourdomain.com') {
# return 301 https://www.yourdomain.com$request_uri; # return 301 https://www.yourdomain.com$request_uri;
# } # }
ssl_certificate /etc/nginx/ssl/none.cer; ssl_certificate /etc/nginx/ssl/none.cer;
ssl_certificate_key /etc/nginx/ssl/none.key; ssl_certificate_key /etc/nginx/ssl/none.key;
@ -57,6 +57,12 @@ server
# openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048 # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
# ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem; # 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; #error_page 404 /404.html;
# Deny access to PHP files in specific directory # Deny access to PHP files in specific directory