プロジェクトの展開
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]:远程保存路径