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

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

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

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

nginx

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

5880閲覧

nginxのデフォルト画面が表示される

yayaya22

総合スコア51

Django

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

nginx

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2022/01/04 12:38

編集2022/01/04 15:15

Djangoで作成したアプリをawsにデプロイしようとしています。
下記を参考にし、ローカルサーバー8000番で自分のアプリが表示されるところまでは確認できました。
https://qiita.com/Bashi50/items/d5bc47eeb9668304aaa2

しかし、自分のパブリックIPを入力したところ
下記のデフォルトの画面でアプリトップページが表示されません。
イメージ説明

welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.

gunicornの設定

sudo vim /etc/systemd/system/gunicorn.service

[Unit] Description=gunicorn daemon After=network.target [Service] User=ubuntu Group=www-data WorkingDirectory=/home/ubuntu/twitter_site ExecStart=/home/ubuntu/django/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/ubuntu/twitter_site/twitter_site.sock twitter_site.wsgi:application [Install] WantedBy=multi-user.target

nginx設定
sudo vim /etc/nginx/sites-available/twitter_site

server { listen 80; server_name ********; location = /favicon.ico {access_log off; log_not_found off;} location /static/ { root /home/ubuntu/twitter_site; } location / { include proxy_params; proxy_pass http://unix:/home/ubuntu/twitter_site/twitter_site.sock; } }

gunicorn・nginxを再起動しましたが表示はかわらず
sudo systemctl restart gunicorn
sudo systemctl restart nginx

※途中、シンボリックリンクの作成の名前をdjango-aws(本当はtwitter_site)です。まちがえてしまい、チュートリアルの通りに行い、いくつか、シンボリックをrm コマンドで消しました。そちらが原因かもしれませんsites-enabledのことです。

現在のフォルダ構成です。

ubuntu@ip-172-31-27-168:~/twitter_site$ ls Lib Pipfile.lock app manage.py requirements-dev.txt static twitter_site.sock Pipfile Scripts db.sqlite3 pyvenv.cfg sites-enabled twitter_site

sites-enabledが赤文字になっています。

以上となります。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

シンボリックリンクに対してrmコマンドを使うのは事故の元なので良くないです。
シンボリックリンクの作成と削除
恐らくnginx.confはsites-enabled内のconfを参照しているところ、sites-enabled(通常このディレクトリはsites-availableにあるconfファイルの中で必要なものシンボリックリンクを置く)の実体を消してしまい、 参照するconfがなくなったことが原因ではないか、と推測します。
なぜアプリのディレクトリにわざわざsites-enabledを置いているのかはちょっとわかりかねますが…。

(余談ですが、個人的にはsites-availableにconfの実体を置いてsites-enabledにシンボリックリンクを置く構成は好きではないです。必要ない設定ファイルは消せばよく、素直にconf.dに必要な設定ファイルだけを置けばいいと思うので)

以下は質問と関係ない部分です。


nginxにホームディレクトリにアクセスさせようとすると、本来他ユーザにはアクセスできないホームディレクトリに余計な権限をつけることになるので、別のところにディレクトリを作ってそこに置くようにしてください。
apacheのデフォルトに従って/var/www配下に適当なディレクトリを作るか、nginxのデフォルトに従って/usr/share配下に適当なディレクトリを作るかが一般的です(個人的には前者のほうがより一般的なイメージです)

あと、セキュリティグループのIDを隠したところでそれほど意味はないです。どちらかというと自分のIPを隠すべきでは。

投稿2022/01/04 14:22

yu_1985

総合スコア7427

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yayaya22

2022/01/04 15:13 編集

ご回答いただきありがとうございました。シンボリックリンクの欄を再度見直したところ、 sudo ln -s /etc/nginx/sites-available/twitter_site/etc/nginx/sites-enabled/ #誤 sudo ln -s /etc/nginx/sites-available/twitter_site /etc/nginx/sites-enabled/ #正                           ↑スペース が抜けてのタイプミスでした。スペース以降が引数となり、うまくリンクできていなかったものと思われます。linuxでのコマンド扱いに慣れておらず、このミスを引き起こしたものと思われます。 おっしゃる通り、rmコマンドでやたら削除することはやめるようにします。 >>なぜアプリのディレクトリにわざわざsites-enabledを... これは試行しているうちにファイルが出来てしまったのではと考えています。 回答を読み込み、理解していきたいと思います。 ご指摘もありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問