0

最近、Apache + php で Linux EC2 インスタンスを立ち上げました。私のphpコードは最終的に、シェルからpythonを呼び出すだけになり、それ以上のものは何もありませんでした。それはかなり醜い解決策ですが、うまくいきます。したがって、基本的に私の質問は次のとおりです。

  1. Python によりネイティブなソリューションではなく、繰り返し exec(python my_script.py) を呼び出す php コードを使用することは、どれほど悪い/非効率的/ばかげているでしょうか? 無駄だと思いますが、それについて心配する必要があるのか​​ 、それともただ飲み続ける必要があるのか​​ を理解しようとしています.
  2. 私はどうにかして bottle.py を起動して実行し、「ばかげた」ソリューションを継続的に実行するボトルスクリプトに置き換える寸前でした。それはより自然に思えます。しかし、私は mod_wsgi を介してこのソリューションを Apache と統合できませんでした。これは、私が対処したくない python バージョンの非互換性の問題に関係していると思います。
  3. (2) を考慮すると、Apache を完全にバイパスし、単純に「実行」コマンドでボトル スクリプトを呼び出してすべての着信通信をリッスンすることの影響は何ですか? 見栄えが悪いですが、非効率的または悪いことはありますか? そうでない場合は、それを私の解決策と呼びます... しかし、人々が Apache と統合する理由があるのではないかと心配しています。

任意の入力をいただければ幸いです。すでに Python 2.7 を実行しており、デフォルトで Python によって着信要求を処理するまともな amazon AMI があればいいでしょう。この apache/mod_wsgi ビジネス全体を台無しにするべきではなく、スクリプトとして「ボトル」を呼び出すだけでよいと、誰かが権威を持って言っています :-)

編集:ウェブサーバーとしてペーストを使用してボトルを実行しているpython 2.7があります。このソリューションよりもApacheを好む本当の理由ありますか? 私がそれをしている間、誰かがこの環境でSSLを有効にした経験がありますか?

乾杯、ウリ

4

3 に答える 3

1

PythonでBeanstalkインスタンスを起動し、Amazonにそれらの詳細を処理させてみませんか?BeanstalkはEC2で実行されます。アマゾンがすでにあなたにペンネウォッカを作ったとき、あなた自身のスパゲッティを作るために縫い目はばかげています!ラメの比喩はさておき、追加のストレスを軽減し、PHP/Pythonを混在させる必要がないと思います。

于 2013-03-08T16:18:55.323 に答える
0

Beanstalk で python バージョンを更新する必要がある場合は、次の 2 つのオプションをお勧めします。

  1. 豆の木の標準的な ami に基づいてカスタム ami を作成します。ここの良い記事: http://blog.jetztgrad.net/2011/02/how-to-customize-an-amazon-elastic-beanstalk-instance/

  2. Elastic Beanstalk 構成ファイルを使用してインスタンスをカスタマイズします。こちらをご覧ください: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html .

于 2013-03-08T19:46:49.763 に答える
0

免責事項: 私は OpDemand で働いています。

事前にロールされた AMI を使用するのが最も簡単ですが、それらを管理することは不可能になります。

より柔軟なものを探している場合、OpDemandは、ワンクリックでデプロイできる Python アプリケーション用の EC2 テンプレートを提供します。これらは、 Procfileで定義された Web ワーカーの前に Nginx を配置したバニラ Ubuntu 12.04 LTS ボックスです。Heroku によく似ていますが、すべて自分の EC2 アカウントが不足しています。Python アプリケーションの例では Flask を使用していますが、Bottle に切り替えるのは簡単です。

頑張ってください!

于 2013-03-08T20:02:08.083 に答える