2017-10-12 2 views
0

私は自分でサーバを設定しています。今はパッケージをインストールする場所がたくさんあります。 私はnginx、gunicorn、python3、postgresqlなどのようなコアパッケージを考えています。djangoサーバのパッケージインストールのベストプラクティス

私は、VENV(仮想環境)の設定が良いことであることを知りましたので、いくつかのプロジェクトをパッケージ上の異なるバージョンで実行することができます。

しかし、VENVの中にいない人は少し混乱します。

いくつかは、VENVの外にpostgreSQLをインストールしますが、psycopg2の内部にインストールします。 VENVの中のいくつかのガンコーン。等々。

さらに安全に実行できるベストプラクティスまたはルールはありますか?

私は、Nginx、gunicornでUbuntuサーバー16.04を設定しています。 PostgreSQL、psycopg2、python3

+1

postgreSQLはpythonパッケージではないため、仮想環境にインストールすることはできません。通常、パッケージマネージャ(Ubuntuの 'apt')を使用してインストールします。 – Alasdair

+1

ああ。したがって、仮想環境は、pythonパッケージの仮想的なものに過ぎません。私は仮想マシンのように私の心venvにはまっていた。とった。 VENV内のすべてのPythonパッケージと外部のすべて。ありがとう!私はこのすべてに新しいです。 – sumpen

答えて

1

これは私のアプリケーションに使用するものですが、動作していますが、もっと良いオプションがあるかもしれません。

    nginxのは、PostgreSQLは、のpython3、監督は私は1台のサーバー 内で実行するアプリケーションごとにvirtualenvの使用システムパッケージ
  • としてインストールし、私はそこにインストール
  • :gunicorn、psycopg2とDjangoプロジェクトのための他のすべての要件を (それが必要なとき)

あなたがしたい場合はgunicornとセロリを(実行するためにスーパーバイザーを使用した requirements.txtファイル)

  • の内側に記載されている者の時間のほとんどはAnsibleを使うことができるサーバーインストールの自動化をいくつか行います。複雑ではなく、Python/Djangoとよく似たコード例があります。しかし、あなたがしていることを最初に知り、理解するためには、自分で自分のことをやることを開始する方が良いでしょう。ムニールの答え@

    幸運

  • 0

    はかなりソリッドですが、私はAnsible銀河からのプレイブックを使用してadvice-の別の部分にタグ付けしたかったことも、別のオプションです。既存のプレイブックは、多くのユースケース(Djangoを含む)に既に存在し、これらのベストプラクティスの多くを考慮に入れています。私はギャラクシーのすべてのプレイブックが良いと言っているわけではありませんが、いくつかはオープンソースであるため、頻繁にパッチを当てて更新しています。

    関連する問題