質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

解決済

VirtualBoxに作り出したCentOS7内にDjangoのプロジェクトをデプロイしたい

kawataku
kawataku

総合スコア3

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

1回答

0リアクション

0クリップ

985閲覧

投稿2021/08/24 05:55

前提・実現したいこと

macユーザーなのですが、VirtualBoxに作ったCentOS7にmac側で作ったDjangoファイルをデプロイしたいなと考えております。

前提としまして、webサーバーAPサーバーには、nginxgunicornをinstallしております。

まずCentOS7内においてDjangoプロジェクトを作成して、それをmac側のブラウザで見ようとしているのですが、上手くDjangoのロケットが打ち上がっている画面や、管理者画面などが表示されません。

VirtualBoxのCentOS7内にてDjangoのロケットが打ち上がっている画面を上手く表示させたいです。
また、できればDjangoをCentOS7にデプロイする方法も教えていただければありがたいです。

ポートフォワーディングにおいてはホスト側には8080をゲスト側には80ポートを開放しております。
ポートフォワーディング

また、ネットワークはアダプター1にNATを、アダプター2にホストオンリーアダプターを設定しております。

質問

  • ホスト側のブラウザで見るときに打ち込むipアドレスはenp0s3のipアドレスなのでしょうか、それともenp0s8のipアドレスなのでしょうか?
  • また、domainは持っていないのですが、domainは別の他のサイトなどで取得する必要があるのでしょうか、それとも自分で勝手作り出せるのでしょうか?
  • 他には何をinstallする必要があるのでしょうか?
  • そもそもVBで作り出したlinux serverでdjangoをデプロイとかできるのでしょうか?
  • ホスト側に持っているDjangoのフォルダなどはどうやってゲスト側に送れば良いのでしょうか?

補足用の出力

ip aと打った時の出力になります

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:02:f9:91 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic enp0s3 valid_lft 84673sec preferred_lft 84673sec inet6 fe80::a00:27ff:fe02:f991/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:5b:b8:f4 brd ff:ff:ff:ff:ff:ff inet 192.168.56.10/24 brd 192.168.56.255 scope global noprefixroute enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe5b:b8f4/64 scope link valid_lft forever preferred_lft forever

こちらは、sudo nginx -tを打った時の出力になります

nginx: [warn] conflicting server name "192.168.56.10" on 0.0.0.0:80, ignored nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

gunicorn --workers 3 --bind 127.0.0.1:8000 linux_project.wsgi:applicationを実行してみた場合のログになります。
ちなみにlinux_projectとは今回自分が作ったdjangoのプロジェクトになります。

[2021-08-24 14:08:12 +0900] [1360] [INFO] Starting gunicorn 20.1.0 [2021-08-24 14:08:12 +0900] [1360] [INFO] Listening at: http://127.0.0.1:8000 (1360) [2021-08-24 14:08:12 +0900] [1360] [INFO] Using worker: sync [2021-08-24 14:08:12 +0900] [1363] [INFO] Booting worker with pid: 1363 [2021-08-24 14:08:13 +0900] [1364] [INFO] Booting worker with pid: 1364 [2021-08-24 14:08:13 +0900] [1365] [INFO] Booting worker with pid: 1365

発生している問題・エラーメッセージ

URLにenp0s8のIPアドレス:8080, enp0s8のIPアドレス:8080/djangoのアプリ名, enp0s3のIPアドレス:8080, enp0s3のIPアドレス:8080/djangoのアプリ名を入れたどの場合においても、
このサイトにはアクセスできませんと表示されます。

該当のソースコード

/etc/nginx/nginx.confファイル

linux

user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }

/etc/nginx/conf.d/default.confファイル

linux

server { listen 80; server_name 192.168.56.10; location /static { alias /usr/share/nginx/html/static; } location /media { alias /usr/share/nginx/html/media; } location / { proxy_pass http://127.0.0.1:8000; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; } }

試したこと

https://blog.narito.ninja/detail/21/#_2
こちらの記事を参考にしてnginx内の設定ファイルを編集してみたのですが、上手くいきません。

https://www.mathpython.com/ja/django-nginx-conf/
また、こちらの記事も参考にしてみたのですが、上手くいきませんでした。

補足情報(FW/ツールのバージョンなど)

CentOS Linux release 7.9
asgiref 3.4.1
Django 3.2.6
gunicorn 20.1.0
pip 21.2.4
pytz 2021.1
setuptools 39.2.0
sqlparse 0.4.1
typing-extensions 3.10.0.0
uWSGI 2.0.19.1
wheel 0.37.0
Python 3.6.8
pip 21.2.4 from /home/<ユーザーネーム>/<仮想環境名>/lib64/python3.6/site-packages/pip (python 3.6)
また、仮想環境を構築しておりその中でpythonなどを実行するようにしています。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。