如何配置apache(安装在服务器中)以在docker中运行Web应用程序(django)?

时间:2015-06-27 10:29:49

标签: apache docker web-deployment

我在apache中为3个网站安装并运行了PHP服务器。我还在django上开发了一个在4个docker容器上运行的移动api (django,redis,elasticsearch,rabbitmq使用fig.sh)。

因为apache正在运行,我想保留它并将其配置为在docker容器上运行Web应用程序。如果是django应用,我会为此配置mod_wsgi,但事实并非如此,我不知道。

对此有任何想法。非常感谢。

注意:我在docker 1.5上使用apache 2.2Centos 6.6

编辑: Apache包含3 <VirtualHost *:80 > 3个网站的3个域名。

1 website1.com

2 website2.com

3 website3.com

和我要部署的api正在域api上运行.website1.com是website1.com的子域名

fig.yml

db:
  image: mysql
  volumes:
    - /var/lib/mysql:/var/lib/mysql
  volumes_from:
    - mysql_data
  ports:
    - "3306:3306"
  environment:
    MYSQL_ROOT_PASSWORD: 123
  # command:


redis:
 image: redis:3

elasticsearch:
 image: elasticsearch
 ports:
   - "9200:9200"
   - "9300:9300"

rabbitmq:
 image: tutum/rabbitmq
 environment:
   - RABBITMQ_PASS=123456
 ports:
   - "5672:5672"  # we forward this port because it's useful for debugging
   - "15672:15672"  # here, we can access rabbitmq management plugin

web:
  build: .
  command: python3 manage.py runserver 0.0.0.0:8000
  volumes:
    - .:/code
  ports:
    - "8000:8000"

  links:
   - db:db
   - elasticsearch:elasticsearch
   - rabbitmq:rabbit
   - redis:redis

# container with redis worker
worker:
  build: .
  command:
  volumes:
    - .:/code/mobile_api
  links:
    - db:db
    - rabbitmq:rabbit
    - redis:redis

1 个答案:

答案 0 :(得分:1)

有关将Apache代理到后端使用mod_wsgi的Python网站的一般问题的详细信息,请参阅: