nginx与docker
Nginx
nginx的作用
- 多server的负载均衡
- 加密:HTTPS
术语
- directives(指令?): key-value
- context:{…}
serve static files
1 | http { |
然后reload
1 | nginx -s reload |
MIME Types
在不配置的情况下,css不能成功应用到html文件中
- 检查Response headers - Content-Type:
text/plain
1 | http { |
但是MIME Type太多了!mime.types有对应的映射表!
1 | http { |
Location block / context
1 | http { |
nginx默认只提供index.html,但可以通过try_files指定
1 | http { |
location也可以使用regex
1 | http { |
Redirect与Rewrite
重定向redirect
1 | location /crops { |
如果不希望浏览器url变化,应该使用rewrite
1 | http { |
负载均衡
1 | http { |
docker
遇到的小问题:docker compose up拉起服务的时候,如果某个container挂掉了,想进去debug的话用这个指令
1 | docker compose run --entrypoint /bin/bash <service-name> |
注意!这里的service name是docker-compose文件里的!例如,一个docker-compose文件长这样
1 | service: |
如果postgres不明原因挂了而且起不来,就可以用上面的指令进去看什么情况。
每个service都对应一个container name,但是在使用docker compose命令的时候一般用service名而不是container名,尽管在后台docker还是拉起了container。
docker-compose的expose:字段在traefik中不占用宿主机端口,而ports:则占用。
traefik主要还是http(s)协议代理,rtmp等还是直接端口映射或nginx-rtmp比较好。
docker-compose进入容器调试可以用
1 | sudo docker compose exec [service-name] /bin/bash |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 TeaPort!




