2021/08/05

4962 ワード

スパルタは5週間で終わりました.
5週目にawsにサーバを導入する方法を学びます.
大股.
awsはec 2インスタンスを使用します.
ec 2コンソールに入り、起動インスタンスを押すだけです.
git bash入力コマンドを開きます.
ssh -i (키파일) ubuntu@ (인스턴스 퍼블릭 ip 주소)
そしてgit bashでubuntu@ip-(何)このように表示すれば、awsにリモート接続したり、私たちが買ったパソコンにリモート接続したりすることができます.
ファイルをパソコンにアップロードするときに一番いいのはFileZilaこれはファイルを転送するものです.リモート接続なので、SFTPプロトコルにアップロードすればいいです.ファイルをインポートしてドラッグしてアップロードするだけです.
その後アップロードし、サーバを実行し、ブラウザにipアドレス:(ポート番号)を入力すると、すぐに実行できません.
aws自体にファイアウォールがあるからです.5000ポートに移動しても勝手に接続できないので、ポートを開けます.
インスタンス別にセキュリティ>セキュリティグループ>Editインバウンド・ルールに進むと、22は事前に開いているので、File Zillaにファイルをアップロードできます.
ルール、ポート範囲5000、ソースAnywhere-ipv 4を追加します.
ポート範囲80、さらに1つ、27017、さらにルールを追加します.
IPアドレス:(ポート番号)に入ります.
現在モンゴルDBもawsサーバ上にあるのでrobo 3 Tとしてデータを入力すべきです.
File>Create>Connectionに任意の名前とAddress awsサーバipアドレスを入力します.
認証にユーザー名、Password、テスト、保存、アクセスを入力します.
IDパスワードがあるのは、他の人が私のサーバdbを操作できないからです.
mongodbアイデンティティパスワードを設定するには、次の手順に従います.
アマゾンとのリモート接続の場合はコマンドを使用すればよい.
mongo admin --eval 'db.createUser({user: "test", pwd: "test", roles:["root"]})
user、テストしないで、他のものに変えればいいです.
そしてapppyでも
client = MongoClient('localhost', 27017)
この部分.
client = MongoClient('mongodb://(아이디):(비밀번호)@localhost', 27017)
このように交換しなければなりません
test:testここではuser,pwdです.
awsのmongodyにIDとパスワードが入っているのでpymongoにもIDとパスワードが入っていてこそ正しくDBにアクセスできます
そしてawsのapppy、static、templatesをアップロードして実行します.venvのようなファイルをすべてアップロードすることができます.
実行すればいい.
しかし端末をオフにするとawsサーバもオフになるので、サーバを買う意味はないのでしょうか?
したがって,ssh接続を切断してもサーバを継続させる.
うん.その前にURLにポート番号が入っていたらちょっと…?だからポート番号を消したいです.
5000個のポートがフラスコサーバーとして使われているので、5000個のポートに入るとフラスコサーバーに入り、27017に入るとモンゴディーに入ります.これはec 2で開いています
今は5000ポートでWebサービスを実行していますが、毎回「5000」をつけると面倒なので、ポート番号を外したいです.
httpプロトコルの基本ポートは80なので、:80を必要とせずに自動的に接続できます.
ポート番号を入力せずに自動的に接続するために、80ポートに転送する要求を5000ポートに提供します.これはLinuxが提供したものです.
80に入ったの?ああ!5000に行こう!この方式.
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
こんな命令を下すだけでいいのに...これは、80ポートのリクエストを5000ポートに転送するコマンドです.
初期設定の時は普通にしますが….
また来ます.端末がシャットダウンしてもサーバーがシャットダウンする問題を解決しましょうか?
ターミナルで
nohup python app.py &
Nohupを追加することで、端末の電源を切ってもサーバをうまく動作させることができます.
サーバーをシャットダウンします.
リモートへの再接続
ps -ef | grep 'app.py'
ps-ef:すべてのプロセスが表示されます.|アプリケーションpyを含む友達だけを選ぶという意味です.
このようにコマンドを入力します.

このように表示します.
2212と22152(数字が異なり、これはフロー番号です)は強制終了で閉鎖されます.
kill -9 22142
kill -9 22152
もしあなたが私に命令を書いてくれたら、私は強制されます.
さあ.次のURLが数字だとおかしいのでドメイン名を貼るのでしょうか?
売っているサイトはたくさんありますが、いずれもガビアを利用しています.今.shopドメイン名は500元割引キャンペーンなのでそれを買えば使えます
私のページ>DNS管理ツール>設定>記録の修正>記録の追加>ホストに@を書き、IPアドレスは私のaws IPアドレスで書きます.>保存の確認
(urlアドレスとip接続のメッセージを世界中に伝える)
ドメイン接続が終了すると
整理する
nohup python app.py&:端末を閉じてawsからサーバに戻ることもできます
リモートでaws上のフラスコサーバを閉じる:上のps-ef~~、kill-9~~コマンドで閉じるだけです.
aws ec 2インスタンスのクローズ方法:コンソールに直接インスタンスを終了し、停止するとawsサーバコンピュータがクローズします.