4

したがって、いくつかの大きな問題を除いて、大部分が機能する EC2 インスタンスでの非常に基本的な展開があります。今は、ボックスに ssh して実行しているだけです

python -m SimpleHTTPServer 80

ポート 80 で http リクエストを許可するセキュリティ グループにボックスがあります。

これは機能しているように見えますが、しばらく (通常は 1 ~ 2 時間) そのままにしておくと、エラスティック IP が 404 を返し始めます。サードパーティへのデモ用にこのサーバーを維持する必要があります。それが稼働していることを確認する方法についてのアイデアはありますか?

さらに、自分のボックスに ssh 接続されているターミナルを閉じるとダウンします。これは、コンピューターがオフになっていてもこのデモを起動したままにしたいので、非常に理想的ではありません。それはそれほど緊急の問題ではありませんが、それに関するアドバイスもいただければ幸いです。

4

3 に答える 3

3

使用してくださいscreen!ここに簡単なチュートリアルがあります: http://www.nixtutor.com/linux/introduction-to-gnu-screen/

基本的には、ssh で接続し、screen から新しいウィンドウを開き、.NET からサーバーを起動してpython -m SimpleHTTPServer 80から、ウィンドウから切り離します。さらに、端末を閉じることができるはずであり、起動したままにする必要があります。

于 2013-07-21T03:50:47.853 に答える
1

サーバーを起動するbashスクリプトを実行するcronジョブをまとめることで、これを少しハックに解決できましたが、これが最善の方法かどうかはわかりません. 短期的には私の問題を解決したようです。参考までに、これは私が使用したコードです:

import SimpleHTTPServer
import SocketServer

PORT = 80

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = SocketServer.TCPServer(("", PORT), Handler)

httpd.serve_forever()

シンプルなbashスクリプトでラップしました:

#!/bin/bash
cd relevant/directory
sudo -u ubuntu python simple_server.py

使用するためのより良い許可があったと確信していますが、その後は実行しました

chmod -R 777 bash_script.sh

その面で問題に遭遇しないようにするためです。

そして、毎分実行するように cronjob に配置します (多ければ多いほど良いですよね?)

crontab -e (Just to bring up the relevant file)

この行に追加:

*/1 * * * * path/to/bash_script.sh

そして、それは機能しているようです。私は自分の ssh'd ターミナルを閉じましたが、すべてがまだ実行されており、まだ何もダウンしていません。何かがあれば更新しますが、私はこの解決策に概ね満足しています (この件について詳しく学べば 2 週間以内になるというわけではありません)。今やりました。

于 2013-07-21T03:53:34.227 に答える
0

SimpleHTTPServer主に開発中に使用するために、ポート 80 で静的ページを提供するだけです。

本番環境での使用 (EC2 を使用する場合) については、Apacheまたはを読むことをお勧めしますnginx。基本的に、Linux で動作する Web サーバーが必要です。

サイトが静的ファイル (HTML、CSS、JS) のままになると思われる場合は、代わりに Amazon S3 でホストすることをお勧めします。S3 は安価で信頼性が高いです。手順については、この回答をご覧ください: Amazon S3 での静的ホスティング - DNS 構成

楽しみ!

于 2013-07-22T11:41:54.090 に答える