詳細なフローGunicorn + nginxのに基づいてフラスコプロジェクトアリクラウドサーバーの展開

プロジェクトの展開

Gunicorn + nginxのを使用してのUbuntu 16.04ベースのシステムでは、配備され、アリの雲のクラウドサーバー

 

アリのクラウドサーバー

  • アリクラウドサーバ:クラウドサーバーを選択し  https://www.aliyun.comを
  • 個々の自由なアクセス[ https://free.aliyun.com/ ]
  • サーバー選択ubuntu16.04 64ビットオペレーティングシステムを作成します

 

  • セキュリティグループに設定規則は、ポート5000(ポートを一緒にプラス5001)を追加
  • リモートサーバーのログインのためのコマンドラインを使用します
ssh 用户名@ip地址

関連の環境のインストール

以下の操作は、リモートサーバー上で(Ubuntuの16.04)の操作を行っています

  • aptのソースを更新するために、関連
sudo apt-get update
  • MySQLのインストール
apt-get install mysql-server
apt-get install libmysqlclient-dev
  • Redisのインストール
sudo apt-get install redis-server
  • 仮想環境のインストール
pip install virtualenv
pip install virtualenvwrapper
  • 次のようにVirtualenvwrapperは、開始、編集、〜/ .bashrcファイルをマウント:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh
  • 編集したファイルの発効
source ~/.bashrc

要件文書

Pythonはrequirements.txtプロジェクトファイルを含んでもよく、それは新しい環境での展開操作のために、すべての依存パッケージと正確なバージョン番号を記録します。

  • ファイルにバージョン番号を生成するには、次のコマンド現在の仮想環境の依存関係を使用して仮想環境では:
pip freeze > requirements.txt
  • あなたは、仮想環境の完全なコピーを作成する必要がある場合は、新しい仮想環境を作成し、その上で次のコマンドを実行できます。
pip install -r requirements.txt
  • インストールされていないパッケージに依存してもよいフラスコ-のMySQLdbのインストール中にエラーが発生する可能性があります、依存関係をインストールするには、次のコマンドを実行します。
sudo apt-get build-dep python-mysqldb

nginxの

  • C言語を使用して書かれました
  • 流用、フォワーディング、ロードバランシングを実現

関連操作

  • インストール
$ sudo apt-get install nginx
  • ファイル名を指定して実行と停止
/etc/init.d/nginx start #启动
/etc/init.d/nginx stop  #停止
  • プロファイル
    • ファイルを編集します。/ etc / nginxの/サイト利用可能/デフォルト

# 如果是多台服务器的话,则在此配置,并修改 location 节点下面的 proxy_pass 
upstream flask {
        server 127.0.0.1:5000;
        server 127.0.0.1:5001;
}
server {
        # 监听80端口
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # 请求转发到gunicorn服务器
                proxy_pass http://127.0.0.1:5000;
                # 请求转发到多个gunicorn服务器
                # proxy_pass http://flask;
                # 设置请求头,并将头信息传递给服务器端 
                proxy_set_header Host $host;
                # 设置请求头,传递原始请求ip给 gunicorn 服务器
                proxy_set_header X-Real-IP $remote_addr;
        }
}

Gunicorn

  • Gunicorn(緑ユニコーン)はPythonのWSGI HTTPサーバです
  • ルビーユニコーン(ユニコーン)プロジェクトの移行から
  • Webフレームワークの様々な互換性のGunicornサーバは、実装は非常に簡単です、軽量リソース消費
  • 設定ファイルを記述することなく、直接起動するコマンドをGunicorn

関連操作

  • インストール
pip install gunicorn
  • オプションを表示します
gunicorn -h
  • ラン
# -w: 表示进程(worker) -b:表示绑定ip地址和端口号(bind)
gunicorn -w 2 -b 127.0.0.1:5000 运行文件名称:Flask程序实例名

参考阅读: Gunicorn相关配置:https://blog.csdn.net/y472360651/article/details/78538188

其他操作

  • 拷贝本地代码到远程
scp -r 本地文件路径 [email protected]:远程保存路径

 

おすすめ

転載: blog.csdn.net/weixin_44786530/article/details/92639927