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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Python

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

Q&A

解決済

4回答

921閲覧

サーバーを使ってwebアプリケーションを公開する方法について

babbleman

総合スコア107

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Python

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

0グッド

0クリップ

投稿2019/12/29 09:41

今回初めて自身で作成してみたwebアプリをインターネット上に公開してみようと思ったのですが、何点か気になりましたので質問させてください。

ファイル自体はpytcharm上で作成したのですが、このフォルダ構成をそのままサーバー上にアップロードするのに特別な知識は必要になるのでしょうか?
また、DBについてですが、今はテスト段階でローカル上にしか mysqlを入れておりませんが、インターネット上で使用する際にはサーバーで用意されている新たなDBを使用する形になるのでしょうか?

インフラ関係について全くのど素人なのですみません、御回答のほどよろしくお願い申し上げます。

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

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

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

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

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

guest

回答4

0

ベストアンサー

こんにちは、babblemanさん

初めてのWebアプリケーションを作成されたとのことでお疲れさまでした!
もし初心者の方なのであれば、なかなか最後まで作り上げる人はいないので素晴らしいと思います????

さて、ご質問の内容ですが、

このフォルダ構成をそのままサーバー上にアップロードするのに特別な知識は必要になるのでしょうか?
インターネット上で使用する際にはサーバーで用意されている新たなDBを使用する形になるのでしょうか?

結論から言うと、

  • 特別な知識は必要になります
  • サーバー上に、新たなDBを設置する必要があります

です。
ただ、インフラの構成というのは無数に考えられるものなので、初めてアップロードするということであれば、PaaSの利用をおすすめします。
PaaSはPaaSで、PaaS独特な仕様を学ぶ必要があるのですが、一度学べはそのプラットフォームでは、手軽にアップロードできるようになるので、学習の価値はあると思います。

有名なPaaSをいくつか上げると、次のとおりです。

AmazonのAWSや、Googleは会社として有名ですが、個人的にはHerokuが、最も手軽で利用しやすいと思います。
HerokuのデフォルトのDBはPostgreSQLというMySQLとは別のDBなのですが、MySQLと完全互換性があるClearDBのプラグインで追加し、Heroku上で利用できるので、ローカルでMySQLを利用していても、HerokuでWebアプリケーションを動作させることができると思います。

Pythonに関しては、以下のリンクがドキュメントとなっているので、ご参照ください。
https://devcenter.heroku.com/categories/python-support

以上、ご参考になれば、幸いです。

投稿2019/12/29 13:08

gentamura

総合スコア406

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

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

babbleman

2020/01/04 08:56

とてもわかりやすい回答をありがとうございました。Paasという物を使って調べてみます。
guest

0

インフラ関係について全くのど素人なのですみません、御回答のほどよろしくお願い申し上げます。

インフラ関係を学習してからにしてください。(またはできる人に依頼)
インターネット上に公開するということは、攻撃者の対象になります。
サーバの乗っ取りはそれほど珍しくもなく、攻撃を目的としたアクセスは100%やってきます。

まず、危険なアクセスをログから確認できる程度のスキルは必須です。

投稿2019/12/29 11:15

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

データベースは本番環境用に作成することになります。

ローカルではビルトインサーバーで動作確認していると思いますが、本番環境ではnginx+gunicornなどwebサーバー+APサーバーで動作させることになると思います。

コードはgitからcloneしてもいいですが、データベースの構築も含めてfabricなどのビルドツールを覚えると後々楽になると思います。

投稿2019/12/29 11:08

編集2019/12/29 11:10
madone99

総合スコア1855

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

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

0

Webサーバを兼ねているアプリならroot権限のあるサービスを使用することになると思います。
クラウドサービスを利用すればdbもサービスとして用意されているパターンが多いですが、
なければ自分で用意することになります。

投稿2019/12/29 09:54

編集2019/12/29 09:55
scsi

総合スコア2840

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問