marcusianlevine.nginx-container
nginx-container
向您的 Ansible Container 项目添加一个 nginx 服务。运行以下命令安装该服务:
# 将工作目录设置为您的 Ansible Container 项目根目录
$ cd myproject
# 安装服务
$ ansible-container install ansible.nginx-container
需求
- Ansible Container
- 一个现有的 Ansible Container 项目。要创建一个项目,只需运行以下命令:
# 创建一个空项目目录 $ mkdir myproject # 将工作目录设置为新目录 $ cd myproject # 初始化项目 $ ansible-container init
角色变量
STATIC_ROOT: /static
nginx 服务的静态内容路径。
STATIC_LOCATION: {{ STATIC_ROOT }}/
匹配此模式的请求将被重定向到 {{ STATIC_ROOT }} 目录。通常为 "/static/" 或 "/assets/"。
PIDFILE_DIR: /run/nginx
nginx 存储当前 PID 值的路径。
ASSET_PATHS: []
从中复制静态内容的路径列表。内容将被复制到 {{ STATIC_ROOT }}。
注意 路径必须在 Ansible 构建容器内有效。如果您复制源文件,请使用 --with-volumes 将源目录挂载到构建容器中。
PROXY: no
在作为演示应用的一部分使用此角色时,nginx 需要代理 django 服务,在这种情况下将其设置为 'yes'。
PROXY_PASS: ""
接受代理请求的后端服务器地址。例如:
http://django:8080
PROXY_LOCATION: ""
包含可选修饰符和匹配模式的字符串。包含匹配模式的请求将转发至 PROXY_PASS 地址。例如,
~* /(api|static)
将转发以/api
或/static
开头的请求。
PROXY_CONNECT_TIMEOUT: 60
将
proxy_connect_timeout
设置为此值(以秒为单位)。根据 NGINX 文档,不得超过 75 秒。
PROXY_SEND_TIMEOUT: 60
将
proxy_send_timeout
设置为此值(以秒为单位)。
PROXY_READ_TIMEOUT: 60
将
proxy_read_timeout
设置为此值(以秒为单位)。
可选项
EXTRA_CONFIG
额外 NGINX 配置模板的绝对路径列表,这些模板将放置在
/etc/nginx/conf.d
中。
文件名必须以.conf.j2
结尾,但是在指定列表时只需使用.conf
!
依赖
无。
贡献
为了方便您在更改角色时测试,您可以使用以下工作流程:
# 提交您的更改
$ git commit -m
# 推送您的更改
$ git push
# 设置工作目录为 tests
$ cd tests
# 运行一个构建,安装最近的提交中的角色
$ ./build.sh
几点注意事项:
- 您必须
git push
您的更改,以便构建可以识别它们。 - 修改 build.sh 以指向您对该角色的分叉。
- 如果一切顺利,且构建成功,基于您最新提交构建的容器将在后台运行。
- 正在运行的容器将发布端口 8000:8000,因此如果您在浏览器中访问 http://localhost:8000,您应该能看到默认的 nginx 页面。
许可证
Apache v2
作者信息
有关贡献者的列表,请查看 AUTHORS。感谢大家!