python - 開發環境下使用 Docker + Gunicorn + Nginx 只能看到 Niginx 歡迎界面
問題描述
在開發環境下使用 Docker + Gunicorn + Nginx 來運行 Django,服務器啟動后只能看到 Nginx 歡迎界面。
Dockerfile 如下:
django:
FROM python:3.5ENV PYTHONUNBUFFERED 1RUN groupadd -r django && useradd -r -g django djangoCOPY ./requirements.txt /requirements.txtRUN pip install --no-cache-dir -r /requirements.txt && rm -rf /requirements.txtCOPY ./compose/django/gunicorn.sh /RUN sed -i ’s/r//’ /gunicorn.sh && chmod +x /gunicorn.sh && chown django /gunicorn.shCOPY . /appRUN chown -R django /appRUN mkdir /staticRUN chown -R django /staticUSER djangoWORKDIR /app
nginx:
FROM nginx:latestADD nginx.conf /etc/nginx/sites-enabled/django_blog.conf
gunicorn.sh
#!/bin/shpython /app/manage.py collectstatic --noinput/usr/local/bin/gunicorn blogproject.wsgi -w 4 -b 127.0.0.1:8000 --chdir=/app
nginx.conf 配置:
server { charset utf-8; listen 80 default_server; location /static {alias /app/static; } location / {proxy_pass_header Server;proxy_set_header Host $http_host;proxy_pass http://127.0.0.1:8000; }}
docker-compose.yml
version: ’3’services: django: build: context: . dockerfile: ./compose/django/Dockerfile command: /gunicorn.sh nginx: build: ./compose/nginx depends_on: - django ports: - '80:80'
運行命令:docker-compose builddocker-compose up
似乎是 Nginx 沒有把請求轉發給 Gunicorn?求指點!
問題解答
回答1:請進入nginx容器看清楚配置文件的位置
相關文章:
1. nignx - docker內nginx 80端口被占用2. docker網絡端口映射,沒有方便點的操作方法么?3. docker不顯示端口映射呢?4. javascript - nodejs調用qiniu的第三方資源抓取,返回401 bad token,為什么5. angular.js - angular內容過長展開收起效果6. docker綁定了nginx端口 外部訪問不到7. java - 為什么此私有靜態變量能被訪問呢?8. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下9. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?10. thinkphp5.1學習時遇到session問題
