当前位置:Gxlcms > PHP教程 > dockernginx多域名配置问题

dockernginx多域名配置问题

时间:2021-07-01 10:21:17 帮助过:5人阅读

尝试配置dockers官方nginx镜像nginx.conf配置失败,对其所知甚少基本靠找教程。
以下是我尝试的流程:
YBa

  1. <code>docker run -d --name YBa --restart=always -v /Storage/Volumes/App/YBa:/usr/src/myapp php
  2. </code>

YBb

  1. <code>docker run -d --name YBa --restart=always -v /Storage/Volumes/App/YBb:/usr/src/myapp php
  2. </code>

Nginx

  1. <code>docker run -d -p 80:80 --name Nginx --link YBa:yba --link YBb:ybb -v /Storage/Volumes/Services/Nginx/Conf/nginx.conf/nginx.conf:/etc/nginx/nginx.conf:ro --restart=always nginx</code>

Nginx.conf

  1. <code> user nobody nogroup;
  2. events {
  3. worker_connections 512;
  4. }
  5. http {
  6. upstream yba {
  7. server yba;
  8. }
  9. upstream ybb {
  10. server ybb;
  11. }
  12. server {
  13. listen *:80;
  14. server_name http://app1.com;
  15. location / {
  16. proxy_pass http://yba/;
  17. proxy_set_header X-Real_IP $remote_addr;
  18. proxy_set_header Host $http_host;
  19. }
  20. }
  21. }
  22. server {
  23. listen *:80;
  24. server_name http://app2.com;
  25. location / {
  26. proxy_pass http://ybb/;
  27. proxy_set_header X-Real_IP $remote_addr;
  28. proxy_set_header Host $http_host;
  29. }
  30. }
  31. }
  32. </code>

现在问题是如何通过单个配置文件完成多个域指向多个容器的问题
想了解还有没有其他的解决方法
如何针对单容器的不同子目录多个主域名指向

回复内容:

尝试配置dockers官方nginx镜像nginx.conf配置失败,对其所知甚少基本靠找教程。
以下是我尝试的流程:
YBa

  1. <code>docker run -d --name YBa --restart=always -v /Storage/Volumes/App/YBa:/usr/src/myapp php
  2. </code>

YBb

  1. <code>docker run -d --name YBa --restart=always -v /Storage/Volumes/App/YBb:/usr/src/myapp php
  2. </code>

Nginx

  1. <code>docker run -d -p 80:80 --name Nginx --link YBa:yba --link YBb:ybb -v /Storage/Volumes/Services/Nginx/Conf/nginx.conf/nginx.conf:/etc/nginx/nginx.conf:ro --restart=always nginx</code>

Nginx.conf

  1. <code> user nobody nogroup;
  2. events {
  3. worker_connections 512;
  4. }
  5. http {
  6. upstream yba {
  7. server yba;
  8. }
  9. upstream ybb {
  10. server ybb;
  11. }
  12. server {
  13. listen *:80;
  14. server_name http://app1.com;
  15. location / {
  16. proxy_pass http://yba/;
  17. proxy_set_header X-Real_IP $remote_addr;
  18. proxy_set_header Host $http_host;
  19. }
  20. }
  21. }
  22. server {
  23. listen *:80;
  24. server_name http://app2.com;
  25. location / {
  26. proxy_pass http://ybb/;
  27. proxy_set_header X-Real_IP $remote_addr;
  28. proxy_set_header Host $http_host;
  29. }
  30. }
  31. }
  32. </code>

现在问题是如何通过单个配置文件完成多个域指向多个容器的问题
想了解还有没有其他的解决方法
如何针对单容器的不同子目录多个主域名指向

可以在本地配置好对应的配置文件在conf/上,例conf/api.app2.com.conf,在建立容器时添加进容器, dockerfile 代码如下

  1. <code>From nginx:1.9
  2. MAINTAINER terry.dawu@gmail.com
  3. ADD nginx.conf /etc/nginx/nginx.conf
  4. ADD conf/* /etc/nginx/conf.d/
  5. RUN mkdir /opt/www && mkdir /opt/log
  6. RUN chmod -R 755 /opt/log /opt/www
  7. VOLUME ["/opt"]</code>

  1. Nginx 代理分发,指向本机不同端口

  2. CDN分发,指向服务器不同端口

人气教程排行