展開図書館管理システムプロジェクト
展開の準備
あなたは以下のソフトウェアを使用する展開プロジェクト管理の本
- nginxの
- uWSGI
- CentOS7
- ライブラリ管理、展開プロジェクトファイル
- virtualenvの
- 監督
WSGI、uWSGI
WSGIプロトコルを使用してのpythonウェブサーバの開発(Webサーバーゲートウェイインターフェイス)
PythonのWebプロジェクトは、優れたアプリケーションモジュールを決定するために、デフォルトwsgi.pyファイルを生成します。
本番環境WSGIすべてのインタフェース、C言語で、非常に効率的なWebサーバ筆記具、uWSGIを使用。
uWSGIはWSGIプロトコル、uwsgi合意は、http合意を達成するためのフル機能のHTTPサーバです。それはやっているネットワークプロトコルをサポートするHTTPプロトコル言語に変換されます。Pythonは直接使用することができるように、例えば、HTTPプロトコルは、WSGIプロトコルに変換されます。
nginxの
nginxのは、そのリバースプロキシ機能を使用することで、プロジェクトはジャンゴ+ uWSGI + nginxのことで、サーバーのラインを展開されます。
CentOSの
1.パッケージCRMプロジェクトフォルダ、ファイル圧縮
サーバーCentOSにまでアップロードファイルなどlrzsz 2. xftp、SCP、
Linuxのヒント
1. xshellまたはITERMソフトウェア、あなたのlinxuのマルチ端末操作、そうuwsgi、nginxの、デバッグ時間をプロジェクトコード、回避切り替え前後にディレクトリには、効率性を提供します。
注2.変更Linuxソフトウェア・コンフィギュレーション・ファイルを有効にするには、サービスを再起動する必要があります。
VIRTUALENV
問題のソフトウェア依存関係、競合、推奨されるのを防ぐために、清潔で、孤立Pythonインタプリタ環境を構築します。
監督
スーパーバイザー(http://supervisord.org/)、クライアントとのPython /サーバ・サービスを開発したのLinux / Unixシステムの下でプロセス管理ツールですが、Windowsシステムではサポートされていません。これは、簡単に、監視開始、停止、1つ以上のプロセスを再起動することができます。プロセスが予期せずに殺されるプロセス管理と監督者、死のプロセスを監視するsupervisortは、それが自動的に再起動引っ張ってくる、コントロールにシェルスクリプトを記述する必要がなくなり、自動回復機能のプロセスを実行するために便利です。
展開を開始
Linuxオペレーティング精通1、
Linuxの基本的な操作コマンドが省略.....
2、インストールのpython3インタプリタ
参考ブログ:https://www.cnblogs.com/tiger666/articles/10312522.html
3、virtualenvwrapper設定ツール、仮想環境問題の解決
#確認〜/ .bashrcのvirtualenvwrapperプロファイルの内側に配置され WORKON_HOME =〜/ ENVSその VIRTUALENVWRAPPER_VIRTUALENV_ARGS = ' --no-サイトパッケージ' VIRTUALENVWRAPPER_PYTHON =は/ opt / python36 / binに/ のpython3の ソースは/ opt / python36 / binに/ virtualenvwrapper.sh #図書館管理システムのプロジェクトのための仮想環境を作成し、アクティブに mkvirtualenvのbook_manage_envを
4、インストール設定MariaDBデータベース、およびデータベースのデータを作成し、移行データインポートライブラリ管理システム
MariaDBデータベース(1)のインストールおよび起動
CentOS7では、MariaDBは、ちょうど別のパッケージ名のMySQLデータベースです
#ダウンロードに使用YUMとmariadbをインストール yumをMariaDB MariaDB-クライアントサーバーをインストールする- Y- #の開始mariadbサーバは MySQLを起動systemctl
(2)が接続され、リモートでアクセスするルートユーザーを認可します
#使用MySQLサーバのリンクへのクライアント のmysql-uroot-- MariaDBのLinux上でpは、上陸した #1 注1、Linuxのデータベース、rootユーザーの権限にリモートリンクを設定する必要があり、パスワードはqishi3qある ルートに付与すべての権限@ * ON *。「%」で識別される「qishi3q 」; #は、すべてのライブラリ内のすべての権利を承認、すべてのホスト上のrootユーザーのすべてのテーブル、セットの権限パスワードがqishi3qある #リフレッシュ承認フォームの フラッシュ権限; 注2、LinuxのファイアウォールとSELinuxオフにする、またはLinuxリンクポート3306にウィンドウが拒否される場合があります
データ(3)インポートライブラリ管理プロジェクト
Linuxサーバ、MySQLでは、インポートライブラリ管理システムのデータ #1 1.mysqlデータのエクスポートとインポートは、 Linuxでは/このコマンドでのウィンドウをノック のmysqldump -uルート-p --all-データベース> book_manage.dump #2 Linuxのデータベースへのアップロードのデータファイルを #LinuxのMySQLで3、データファイルをインポート(データベース・ダンプ・ファイルを指定:使用szday58)を mysqlのルート-p -u <は/ opt / book_manage.dump #または入力のmysqlデータベースへのアクセスは、次のコマンドを使用します。 ソース/opt/book_manage.dump
仮想環境への5、およびプロジェクトを実行
実行中のプロジェクトにスイッチにプロジェクトを実行するためのテスト用途のLinux Pythonインタプリタ(プロジェクトの通常の動作にモジュール通訳の問題を解決するために注意)
#使用127.0.0.1、あなただけは0.0.0.0を使用する必要があり、アクセスに皆を取得するには、このマシンにアクセスすることができない のrunserver 0.0.0.0:8000のpython3のmanage.pyを
これは私のIPクラウドサーバーIPであるならば、あなたは、IPプラスポートを介してアクセスすることができ、その後、我々はインタビューに行って、あなたがコンピュータ上でインタビュアーを表示するには、このプロジェクトを取ることができ、ああ、強制的に良いフォーマットがあります
卵:そこ今の問題は、我々は10.0.0.7:8000を通じてプロジェクトにアクセスすることができますが、公共のインターネットのウェブサイトは、ああ、そうではない、などルフィXuechengとしては、ドメイン名を介してアクセスされ、我々は、ハエXuechengの活路を解決することができますIPは、サーバー80が使用されているデフォルトのポートので、アドレスを介してアクセスすることができますが、背面に増加しないポート、
私たちは80何の問題に直接ポートすることができますが、その後、疑問が生じます:
1 Djangoは、デフォルトでは、Webインターフェイスを実行し、それがスタンドアローンwsgirefモジュール、パフォーマンスが相対的に低くなり、あなたはどのように解決する必要がありますか?
uwsgi +ジャンゴ+ nginxの
2我々はそれを行う方法を、サービスを提供するために、プロジェクトを再実行したいですか?唯一の80ポートサーバ、どのように解決するために
nginxの+ uwsgi +ジャンゴ+スーパーバイザ
-のconfigure nginx.confする方法については、nginxの設定のインストールを完了するために
、使用uWSGIはマルチプロセスをサポートするために騎士のプロジェクトを開始し、完全なuWSGIコマンドを学ぶために-
完全なnginxの静的ファイルの取り扱いライブラリ管理プロジェクト-
-最終結果は
80個のポートがnginxの訪問を、あなたは見つけることができますライブラリ管理ページ、および通常の静的ファイルのページを確保
展開の準備
あなたは以下のソフトウェアを使用する展開プロジェクト管理の本
- nginxの
- uWSGI
- CentOS7
- ライブラリ管理、展開プロジェクトファイル
- virtualenvの
- 監督
WSGI、uWSGI
WSGIプロトコルを使用してのpythonウェブサーバの開発(Webサーバーゲートウェイインターフェイス)
PythonのWebプロジェクトは、優れたアプリケーションモジュールを決定するために、デフォルトwsgi.pyファイルを生成します。
本番環境WSGIすべてのインタフェース、C言語で、非常に効率的なWebサーバ筆記具、uWSGIを使用。
uWSGIはWSGIプロトコル、uwsgi合意は、http合意を達成するためのフル機能のHTTPサーバです。それはやっているネットワークプロトコルをサポートするHTTPプロトコル言語に変換されます。Pythonは直接使用することができるように、例えば、HTTPプロトコルは、WSGIプロトコルに変換されます。
nginxの
nginxのは、そのリバースプロキシ機能を使用することで、プロジェクトはジャンゴ+ uWSGI + nginxのことで、サーバーのラインを展開されます。
CentOSの
1.パッケージCRMプロジェクトフォルダ、ファイル圧縮
サーバーCentOSにまでアップロードファイルなどlrzsz 2. xftp、SCP、
Linuxのヒント
1. xshellまたはITERMソフトウェア、あなたのlinxuのマルチ端末操作、そうuwsgi、nginxの、デバッグ時間をプロジェクトコード、回避切り替え前後にディレクトリには、効率性を提供します。
注2.変更Linuxソフトウェア・コンフィギュレーション・ファイルを有効にするには、サービスを再起動する必要があります。
VIRTUALENV
問題のソフトウェア依存関係、競合、推奨されるのを防ぐために、清潔で、孤立Pythonインタプリタ環境を構築します。
監督
スーパーバイザー(http://supervisord.org/)、クライアントとのPython /サーバ・サービスを開発したのLinux / Unixシステムの下でプロセス管理ツールですが、Windowsシステムではサポートされていません。これは、簡単に、監視開始、停止、1つ以上のプロセスを再起動することができます。プロセスが予期せずに殺されるプロセス管理と監督者、死のプロセスを監視するsupervisortは、それが自動的に再起動引っ張ってくる、コントロールにシェルスクリプトを記述する必要がなくなり、自動回復機能のプロセスを実行するために便利です。
展開を開始
Linuxオペレーティング精通1、
Linuxの基本的な操作コマンドが省略.....
2、インストールのpython3インタプリタ
参考ブログ:https://www.cnblogs.com/tiger666/articles/10312522.html
3、virtualenvwrapper設定ツール、仮想環境問題の解決
#確認〜/ .bashrcのvirtualenvwrapperプロファイルの内側に配置され WORKON_HOME =〜/ ENVSその VIRTUALENVWRAPPER_VIRTUALENV_ARGS = ' --no-サイトパッケージ' VIRTUALENVWRAPPER_PYTHON =は/ opt / python36 / binに/ のpython3の ソースは/ opt / python36 / binに/ virtualenvwrapper.sh #図書館管理システムのプロジェクトのための仮想環境を作成し、アクティブに mkvirtualenvのbook_manage_envを
4、インストール設定MariaDBデータベース、およびデータベースのデータを作成し、移行データインポートライブラリ管理システム
MariaDBデータベース(1)のインストールおよび起動
CentOS7では、MariaDBは、ちょうど別のパッケージ名のMySQLデータベースです
#ダウンロードに使用YUMとmariadbをインストール yumをMariaDB MariaDB-クライアントサーバーをインストールする- Y- #の開始mariadbサーバは MySQLを起動systemctl
(2)が接続され、リモートでアクセスするルートユーザーを認可します
#使用MySQLサーバのリンクへのクライアント のmysql-uroot-- MariaDBのLinux上でpは、上陸した #1 注1、Linuxのデータベース、rootユーザーの権限にリモートリンクを設定する必要があり、パスワードはqishi3qある ルートに付与すべての権限@ * ON *。「%」で識別される「qishi3q 」; #は、すべてのライブラリ内のすべての権利を承認、すべてのホスト上のrootユーザーのすべてのテーブル、セットの権限パスワードがqishi3qある #リフレッシュ承認フォームの フラッシュ権限; 注2、LinuxのファイアウォールとSELinuxオフにする、またはLinuxリンクポート3306にウィンドウが拒否される場合があります
データ(3)インポートライブラリ管理プロジェクト
Linuxサーバ、MySQLでは、インポートライブラリ管理システムのデータ #1 1.mysqlデータのエクスポートとインポートは、 Linuxでは/このコマンドでのウィンドウをノック のmysqldump -uルート-p --all-データベース> book_manage.dump #2 Linuxのデータベースへのアップロードのデータファイルを #LinuxのMySQLで3、データファイルをインポート(データベース・ダンプ・ファイルを指定:使用szday58)を mysqlのルート-p -u <は/ opt / book_manage.dump #または入力のmysqlデータベースへのアクセスは、次のコマンドを使用します。 ソース/opt/book_manage.dump
仮想環境への5、およびプロジェクトを実行
実行中のプロジェクトにスイッチにプロジェクトを実行するためのテスト用途のLinux Pythonインタプリタ(プロジェクトの通常の動作にモジュール通訳の問題を解決するために注意)
#使用127.0.0.1、あなただけは0.0.0.0を使用する必要があり、アクセスに皆を取得するには、このマシンにアクセスすることができない のrunserver 0.0.0.0:8000のpython3のmanage.pyを
これは私のIPクラウドサーバーIPであるならば、あなたは、IPプラスポートを介してアクセスすることができ、その後、我々はインタビューに行って、あなたがコンピュータ上でインタビュアーを表示するには、このプロジェクトを取ることができ、ああ、強制的に良いフォーマットがあります
卵:そこ今の問題は、我々は10.0.0.7:8000を通じてプロジェクトにアクセスすることができますが、公共のインターネットのウェブサイトは、ああ、そうではない、などルフィXuechengとしては、ドメイン名を介してアクセスされ、我々は、ハエXuechengの活路を解決することができますIPは、サーバー80が使用されているデフォルトのポートので、アドレスを介してアクセスすることができますが、背面に増加しないポート、
私たちは80何の問題に直接ポートすることができますが、その後、疑問が生じます:
1 Djangoは、デフォルトでは、Webインターフェイスを実行し、それがスタンドアローンwsgirefモジュール、パフォーマンスが相対的に低くなり、あなたはどのように解決する必要がありますか?
uwsgi +ジャンゴ+ nginxの
2我々はそれを行う方法を、サービスを提供するために、プロジェクトを再実行したいですか?唯一の80ポートサーバ、どのように解決するために
nginxの+ uwsgi +ジャンゴ+スーパーバイザ
-のconfigure nginx.confする方法については、nginxの設定のインストールを完了するために
、使用uWSGIはマルチプロセスをサポートするために騎士のプロジェクトを開始し、完全なuWSGIコマンドを学ぶために-
完全なnginxの静的ファイルの取り扱いライブラリ管理プロジェクト-
-最終結果は
80個のポートがnginxの訪問を、あなたは見つけることができますライブラリ管理ページ、および通常の静的ファイルのページを確保