王初甫がクラスを始めた-05週間の開発日記
11384 ワード
01.自分のプロジェクトをサーバーにアップロードする
10)「Webサービスの実行」に必要な概念を紹介する
作成したプロジェクトを配置します.導入は、誰もが私のサービスを利用できるようにするための作業です.インターネットサービスを発売!
Webサービスを実行するために、お客様の要求にいつでも応答できるサーバ上でプロジェクトを実行します.
いつでもお客様のリクエストに応えなければなりません.
1)コンピュータは常にプログラムを開いて実行する必要があります.
2)すべての人がアクセスできるパブリックIPアドレス(Public IP Address)を使用して、私のWebサービスにアクセスします.
サーバーがパソコンだったのを覚えていますか?外部接続を設定して、私のコンピュータをサーバとして使用することもできます.
EC 2ライセンスを購入し、クラウドサービスでサーバを簡単に管理できるようにサーバとして使用します.
[もう10歩歩く.🏃] IPアドレスとポート
実は私たちが接続しているパソコンにはデジタルアドレス(IPアドレス)があります.私たちが知っているURLは、私たちが認識しやすいなどの理由で、IPアドレスをアルファベットに変更しました.このように変換されたシステムをDNSと呼ぶ.
IPアドレス(IPと略称)
:各コンピュータには、コンピュータが通信できるように独自のアドレスがあると考えられます.正確には、ネットワーク上のすべてのデバイスが通信できるようにする特殊な番号です.サーバにはアドレスが1つしかありません.
ポート(port)
:1つのIPに複数のポートがあります.1つのポートでプログラムを実行できます.
02.AWSサーバーの購入
11)EC 2サーバの購入
12)EC 2サーバをシャットダウンする方法(1年後に自動支払を回避!)
13)EC 2への接続
14)簡単なLinuxコマンドの練習
Linuxはウィンドウではなく、「Shellコマンド」でオペレーティングシステムを操作します.(マウスキャラクタ)
[最も一般的なコマンド]
チップ!Linuxカーネルで上矢印をクリックすると、以前に使用したコマンドが表示されます.
ls: 내 위치의 모든 파일을 보여준다.
pwd: 내 위치(폴더의 경로)를 알려준다.
mkdir: 내 위치 아래에 폴더를 하나 만든다.
cd [갈 곳]: 나를 [갈 곳] 폴더로 이동시킨다.
cd .. : 나를 상위 폴더로 이동시킨다.
cp -r [복사할 것] [붙여넣기 할 것]: 복사 붙여넣기
rm -rf [지울 것]: 지우기
sudo [실행 할 명령어]: 명령어를 관리자 권한으로 실행한다.
sudo su: 관리가 권한으로 들어간다. (나올때는 exit으로 나옴)
03.サーバの設定
15)file zillaを使って簡単なPythonファイルをアップロードする.
サーバにアップロードする簡単なファイルをダウンロードします.
[コード断片]-test.py
[test.py](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/593aa12f-0c04-40dc-9573-40e1b641c2c1/test.py)
例)test.py# 아주 간단하게, 이 정도만 적어볼까요?
# 그리고 적당한 곳에 파일을 저장해봅니다.
print('hello sparta!!')
ファイルブラウズを実行し、次のように設定します.
情報を入力し、「OK」をクリックしてサーバー上のファイルを表示します.
(Host:私のEC 2サーバのIP/User:ubuntuを入力)
![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c91661f0-1274-4f35-b9c2-3a09879a0b09/Untitled.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c91661f0-1274-4f35-b9c2-3a09879a0b09/Untitled.png)
マウスでドラッグしてファイルをアップロード/ダウンロードすればいい!
△では、簡単なPythonファイルを作成してアップロードしましょうか.
![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/47a40685-1be7-421f-939f-0fdad19c7d81/Untitled.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/47a40685-1be7-421f-939f-0fdad19c7d81/Untitled.png)
04.ショッピングサイトを1ページアップロードする
25)Robo 3 Tで「マイコン上」→「サーバ上のMongoDB」に接続
左上隅の赤枠のアイコンをクリックします.
Createをクリック!
接続情報を設定します.
上部の「Authentication」タブをクリックします.
「Perform認証」チェック・ボックスをクリックします.
作成したアカウントのIDとパスワードを入力し、「save」をクリックします.
26)ホームショッピングモールの完全版をFilezillaにアップロードする.
その前に!MongoDB接続設定を変更してください!
AWSのMongoDBにIDとパスワードを追加しましたが、私たちのpymongoにもIDとパスワードを入力する必要があります!これによりPymongoはDBに正しくアクセスできます.
app.pyファイルを開くと、
下のように真ん中の列に変えてください!
[コード断片]-pymongoアカウントに接続
```python
client = MongoClient('mongodb://test:test@localhost', 27017)
```
意味は次の通りです.client = MongoClient('mongodb://아이디:비밀번호@localhost', 27017)
ファイルジラルからEC 2インスタンスのhome/ubuntuフォルダをドラッグ&ドロップし、ジョブフォルダの2番目の場所とします.
27)フルバージョンを実行します.
実行を試みる
# home 디렉토리로 이동
cd ~
# 해당 폴더로 이동해서 아래 코드를 실행합니다.
python app.py
間違いでしょう?パッケージがインストールされていないためです.
# 설치하기
pip install pymongo
再実行
python app.py
28)接続!
ブラウザからの接続
http://내AWS아이피:5000/
05.ポート転送
29)下端のスローガンを取り外して接続を試みます!
30)ポート番号の削除-基本概念
ポート転送を設定したので、ここではコンセプトだけを設定します!
現在、Webサービスは5000ポートで実行されています.だから毎回後ろに:5000を貼ってください.後のポート番号を削除するにはどうすればいいですか?
80ポートはhttpリクエストのデフォルトポートであるため、:80を追加することなく自動的に接続できます.
ポート番号を入力せずに自動的に接続するために、ポート転送(port forwarding)を使用して80ポートの要求を5000ポートに転送します.
Linux内蔵ポートを使用して転送します.下図のように.
06.nohupの設定
31)SSH接続を切断し、サーバーの運転を継続する
現状
Git bashまたはMacの端末(=つまりSSH接続を切断)を終了すると、プロセスは終了し、サーバは動作しません.しかし、リモート接続を切断しても、サーバは稼働し続けるべきでしょう.
リモート接続をオフにしても、サーバを稼働させ続けます.
# 아래의 명령어로 실행하면 된다
nohup python app.py &
サーバーを終了-強制終了する方法
# 아래 명령어로 미리 pid 값(프로세스 번호)을 본다
ps -ef | grep 'app.py'
# 아래 명령어로 특정 프로세스를 죽인다
kill -9 [pid값]
再オープン
nohup python app.py &
32)SSH接続をオフにして接続を試みます!
ブラウザからの接続
http://내AWS아이피/
07.ogラベル
37)ogタグの作成
私が一人で手帳に通ったog:image、og:title、og:descriptionのラベルを覚えていますか.
私のプロジェクトがあなたのKakaoTalk、Facebook、Slameと共有されると、それもとてもきれいになります.
早めに飾っておきましょう!
画像ファイルを静的フォルダの下に置き、それぞれのプロジェクトHTMLの~の間に以下の内容を作成すると、logタグを個人プロジェクトに使用できます.
△グーグルで800 x 400サイズの画像を検索!
[コードフラグメント]-ogラベルを追加
<meta property="og:title" content="내 사이트의 제목" />
<meta property="og:description" content="보고 있는 페이지의 내용 요약" />
<meta property="og:image" content="{{ url_for('static', filename='ogimage.png') }}" />
注意!イメージを変えたけど前のイメージが出てきた!
フェイスブック/KakaoTalkなどにしばらく保存したのは初めてだったからです.
初期化
Reference
この問題について(王初甫がクラスを始めた-05週間の開発日記), 我々は、より多くの情報をここで見つけました https://velog.io/@dnwlsdl0419/왕초보-시작반-04주-개발일지-tlysykwdテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol