uwsgiでpythonアプリケーションを実行している3つのコンテナに直面しているnginx(コンテナ内で実行中)を使用したドッカー作成例を設定しようとしています。ローカルホストからアクセスするときに404エラーが発生しました:NGINX uWSGI
nginxをコンテナ用のdocker ipで試してみると、問題なくアプリケーションにアクセスできます。ただし、localhost:9999を使用してホストURL(nginxはポート9999を使用してホストにバインドされています)からアクセスしようとすると、nginxページにアクセスできますが、アプリケーションURLまたは/ admin/uriは404エラーで表示されます。
私は数多くのフォーラムやStackoverflowの回答を幸運にかけることなく、誰かがこの問題を解決するのを手伝ってもらえますか?
詳しい情報は、下記の添付:
私のドッキングウィンドウのコンファイルは、以下のようになります。
upstream node-app {
least_conn;
server my-app1:8080;
server my-app2:8080;
server my-app3:8080;
}
server {
listen 80 default;
server_name _;
location/{
proxy_pass http://node-app;
include /etc/nginx/uwsgi_params;
}
}
EDITこの:nginxのための
version: '2'
services:
nginxlb:
build: ./nginx
ports:
- "9999:80"
links:
- my-app1:my-app1
- my-app2:my-app2
- my-app3:my-app3
volumes:
- ./logs/nginx/:/opt/my-logs/nginx/
my-app1:
build: ./my
expose:
- 8080
- 8081
volumes:
- ./logs/node1:/opt/my-logs/node1/
my-app2:
build: ./my
volumes:
- ./logs/node2/:/opt/my-logs/node2/
expose:
- 8080
- 8081
my-app3:
build: ./my
volumes:
- ./logs/node3:/opt/my-logs/node3
expose:
- 8080
- 8081
サイト対応のconfには、次のようになりますNGINX用のDockerファイルです。デフォルトのnginx.confファイルに変更を加えていません。
012デフォルトサイトのFrom nginx
MAINTAINER DevOps
# Update the container
RUN apt-get update
# Create directories and set working directory
RUN mkdir /opt/myapp/
RUN mkdir /opt/myapp/django-static/
RUN mkdir /opt/myapp/django-media/
RUN mkdir /opt/myapp/webroot/
run mkdir -p /opt/myapp-logs/nginx/
WORKDIR /opt/myapp/
# Copy configs and code to Container
ADD config/nginx.conf /etc/nginx/nginx.conf
ADD config/nginx-site.conf /etc/nginx/sites-enabled/nginx.conf
ADD config/uwsgi_params /etc/nginx/uwsgi_params
EXPOSE 80
404は、nginxのは、あなたの 'server' nginxのconfigブロックに到達していない示唆しています。おそらく、デフォルトのnginx設定ファイルのパラメータがあなたの設定を上書きしますか?あなたはそれを削除しようとしましたか?それがあなたのnginx/Dockerfileの内容を投稿してください助けていない場合。 – rafalmp
nginxサーバは、nginxコンテナip(「sudo docker inspect | grep IPAddress」から入手しました。 –
user2693188
から取得したものです)をnginxサーバに追加しました。これは、Dockerfileをnginxに追加したものです。 .. – user2693188