Ubuntuはフラスコをインストール+ nginxの+ gunicorn TBD

第一歩

python3のMySQL RedisのPIPサーバ環境を確認し、次には、アップグレードをアップグレードすることができます

 

第二のステップ

あなたのフラスコプログラムがそれをダウンロードgithubのgitのクローン上のアドレスを使用する場合(あなたはプライベートアカウントとパスワードが必要な場合は、gitの最近の研究では、複雑な私を与えました)

短いテキストフラスコ内のサーバーにプログラムをダウンロードする方法を見つけます

 

第三段階

また、ピップvirtualenvのをインストールし使用virtualenvの仮想環境をインストールします。

フォルダを作成します。

mkdir PY3(ランダムな名前) 

ファイルにcd

CDのPY3

 

virtualenvのは、仮想環境を作成するために使用します 

virtualenvの- P-ENVパイソン(デフォルト設定されていない場合はUbuntuでの3つのバージョンの名前を指定するには、Pythonの仮想環境は、おそらくP2のバージョンである)

 

ソース /作成したファイル/ binが/フォルダの仮想環境に入るアクティベートの

(出口は、コマンドを無効にしています)

 

 

 

第四段階

それはgitのクローンファイルのダウンロードフォルダを使用して仮想環境を締結している(私はあなたがまだピップ凍結を使用してパッケージ化されたファイルに依存していると仮定)

ピップ-r reqxxxxx.txtをインストール

 

このフラスコパッケージのインストールと操作

 

このようなアドレスRedisのデータベース、MySQLのアドレスとして、フラスコの構成情報を確認し、(IしなかったのUbuntuのシステム変数で設定し、明示的コードで書かれています)

もしプラグflask_scriptとflask_migrate 

その後、データベースの確立が(唯一のテーブルの構築を支援移行し、データベースを構築していません) 

パイソンは、initエントリファイルDBフラスコ

のpythonフラスコ移行ファイルDB入口

のpythonフラスコエントリファイルのDBのアップグレードを

 

 

 

第五の工程

実行するgunicornオープン複数のスレッドを使用します

スタートgunicornを取得するためにサービスを利用することができます)(工場出荷時のモードアプリ= create_appを使用し、選択の除去、サーバーにアップロードされ、除去されていない、あなたは開発中のドキュメントをインポートする場合、プログラムを動作させるためのflask_scriptフラスコの使用であることに注意してください

manage.py 
から
アプリのインポートcreate_app から flask_script インポートマネージャ から flask_migrate 輸入MigrateCommand アプリ = create_app() の場合 __name__ == ' __main__ ' app.run() 管理=マネージャー(アプリ= create_app()) manage.add_command(」デシベル」、MigrateCommand) __name__ ==場合は、 '__main__': #1 manage.run()

XXXのgunicornをしてみましょうすると、2つのパラメータ、このようなヒントを使用することはできませんパラメータを使用してのみ発生する可能性があります

 

起動するコマンド

テスト
gunicornを -w 4 -b 0.0.0.0:5001に管理:アプリケーションを

バックグラウンドデーモンがPS -eflを使用してプロセスを殺すために戻ってハングハング使用する必要がある場合|プロセスキルを終了するためにはgrep gunicorn番号の問い合わせ処理を-9 XXXX
gunicorn -w 4 -D -b 0.0.0.0:5001管理:アプリを

上記のコマンドの意味があります

オープン4つのプロセス-b -w gunicornの使用は私の指定ポート0.0.0.0:5001である他は、サーバーパブリックネットワーク上に存在することができるように、IP:このプログラムに5001回のflaskwebアクセスサフィックスしないように注意してくださいファイルのエントリの名前を管理開始することですフラスコの例には、アプリであります

 

あなたが開始または変更されたとき、それはポートに属するが占有され、四、五回には表示されない再試行プロセスを維持することが可能で、ポートが殺す-9 XXXを殺す占有しました

 

これに加えて、ブート構成ファイルをブートする方法があります

アプリインスタンス:-c設定ファイル名をgunicorn

しかし、このようにスタートアップコンフィギュレーションファイルを設定した後、いくつかのパラメータのように見えるとのコメントに関連するspuervisor

Gunicorn.conf 

同時作業者は処理 
4人の労働= ワーカー指定あたりのスレッドの数 
= 2つのスレッド内側リスニングポート5000 
バインド= 0.0.0.0:5000 #のデーモン、監督管理のプロセスを 
=デーモン#の作業モードコルーチン 
worker_class = geventは」この#をコメントアウト    #は、同時の最大量を設定 
= 2000 worker_connections プロセスディレクトリを設定する 
PidFileオプション=は/var/run/gunicorn.pid #のセットへのアクセスログとエラーログを情報はLOGPATH 
ACCESSLOG = ' /var/log/gunicorn_acess.logを'







エラーログ = /var/log/gunicorn_error.log 
#は、ログレベルの設定 
のLogLevel = 警告

 

 

 


 

現在、簡単なテストでは、それは、複数のスレッドがフラスコ500爬虫類のプログラムへのアクセスを使用します(これは、APIの書き込みであるため、サーバーの$ 10テンセントクラウド1原子力の2Gメモリを、とても有効なと静的なファイルが存在しません)、

単にMySQLへの10文字各書き込みログレコードを、テストの平均は、おそらく周り4.35s(厳密ではない)であります

4.389250993728638 

4.4822564125061035 

4.46025538444519 

4.415252685546875 

4.41525244712​​8296 

4.60326361656189

 

これは、簡単な筆記試験ですが、もう一つの問題は、私は書かれていた場合、それはまた、データを返してきますか?

 

次に、図フラスコ知識生成機能500の返す文字列形式jsonify JSONをSTR(os.urandm(500))を選択し 

そこに問題がある限り499に送られ、500匹の以上のスレッドの爬虫類は、移動を停止されるように、ですが、また、データベースに追加されたデータを追加したが、499でスタックしています

MySQLのリンク量的制限はありますか?爬虫類もああは戻って、ああ、200光SQLの問題ではないデータを送信していますか?

これを解決保留中

 

しかし、送信時間500の後に約12.5Sの大まかな平均値を必要な文字データの時にパケットデータと受信データ500を決定することができます

 しかし、os.urandom(20)によって生成されたのみ20文字への復帰は、約4.4の平均値である場合 

4.419252634048462 

4.472255706787109 

4.437253952026367

 

 Os.urandomは、固定値、により発生時刻の文字列を必要なリソースを消費し、それはよりゆっくりと戻り列500と同じコピーであると得られた結果は、4.5の平均値で返してもよいです

4.7312705516815186 

4.669267177581787 

4.546260118484497  
4.408251762390137

 



 

 このサーバーのCPU占有要求は、76 CPUの割合で保存されている場合

もしに端部33の割合                       

5の会計にアクセスできません


 

リバースプロキシnginxのと規制サービススーパーバイザー設定した後、私はTBDを言うことを学びました 

 

おすすめ

転載: www.cnblogs.com/zengxm/p/11241802.html