CentOSの展開はマップで最初のキーポイントフラスコ、あなたが発生する可能性のある問題、および解決策を表しています。
写真を参照してください、あなたは[ダウンロード]を見ることができ、透明度は単語を見ることができます
[ターゲット]
- LANは、URLのフラスコ書かれたAPIを介してアクセスすることができます
- フラスコのプロジェクトを更新した後、自動展開
[ツール]
関与の自動展開ツール:
- gitlab
- ジェンキンス
ツールを含む展開フラスコプロジェクト、:
- フラスコプログラミング
- gunicorn:メソッドフラスコプロジェクトを開始gunicorn
- nginxの:ブラウザは何が起こったのか後ろに、フラスコ-APIを訪れgunicornと、間のnginxの明確な関係
- 監督:マスタリング
- Linuxの場合:占有ポート番号を参照して、ツールを終了/再起動/起動し、ファイル、ディレクトリ変更、インストールツールを作成し、プロセスを強制終了
[はじめに]環境
- フラスコ動作環境:
python3、PIP3、pythonの仮想環境
- 導入環境:
centOS7
[手順]
設定gunicorn:
1.仮想環境を作成し、(gunicornインストールPIP)gunicornダウンロード
2.次のようにプロジェクトのルートディレクトリにgunicornブートファイルを作成し、wsgi.pyは、読み取ります。
アプリインポートcreate_appの
アプリケーション = create_app()
もし __name__ == ' __main__ ' :
application.run()
3.コマンドを起動します。
アプリケーション:-w 4 -b 127.0.0.1:8000 WSGIをgunicorn
検証結果:
この時コマンド要求URLによって、あなたは応答結果を見ることができます。だから、良好な分布であるgunicorn
http://127.0.0.1:8000 /ユーザーカール
nginxの設定:
nginxのをインストールします。
nginxのインストールyumを-y
プロンプトが表示され、パッケージが使用できない場合、解決策:7 CentOSに下には、nginxのインストール、nginxのインストールyumを使用して、パッケージを示唆して使用できません。
それは、ポート番号80が占有されているので、nginxの起動に失敗した場合、解決策:centos7のngxinは起動に失敗しました:nginx.serviceのための仕事(80ポートのソリューションが占有されている)が失敗しました
検証結果:
nginxのを起動した後、)ブラウザを開き、ポートnginxのが使用されているhttp://10.2.1.92:8001(8001入力します
nginxのを構築するために完全な環境を表し、次のインターフェイスを参照してください。
nginxのプロキシgunicornサービスを使用して設定
特定の構成を参照する:gunicorn構成nginxの+
検証結果:
検証結果の前に、必ずgunicornが開始されていることを確認
構成管理監督者のgunicornプロセス(開始|再起動|閉じます)
最後に、gunicornバックグラウンド・プロセスを開始するか、コマンドウィンドウをオフにするスーパーバイザを使用し、gunicorn処理も、もちろん、誰もが結果を見たい、殺されました
参照して、スーパーバイザ構成、スーパーバイザーの使用
検証結果:
スーパーバイザによってgunicornを開始した後、コマンドラインウィンドウをオフにし、アクセスアドレスA /ルーティングアドレス(アドレスものを、図3を参照。)を、正しい応答結果が正常に起動スーパーバイザgunicornを示す見ることに留意
このようなnginxの+ gunicorn +スーパーバイザ展開フラスコプロジェクトが設定されています。
プロジェクトの更新を設定し、自動展開:
如果想要实现更新flask项目,自动布署,可以借助jenkins与gitlab的web-hook功能。
具体配置方法(只看前面与gitlab的配置即可,后面写的很乱,不用看):如何创建一个项目,让gitlab自动触发jenkins进行构建
验证结果:
在项目中新建1个测试文件:test.py,提交到仓库
在服务器~/.jenkins/workspace/job名称下查看,也存在test.py文件,即表示自动布署配置成功
具体的配置不太清楚时,可以看看这1篇,写的很乱,但可能会记录一些具体配置