フラスコプロジェクトを最初からデプロイする
概要
このプロジェクトでは、フロントエンドで使用するためにサーバーにデプロイする必要のあるインターフェイスをフラスコを使用して作成しました。途中で多くのピットを登ったので、今回は詳細な記録を作成し、フラスコの実行方法を教えました。ゼロからプロジェクトします。
準備オーケー
サーバ
まず、導入にはサーバーが必要です。TencentCloudまたはAlibabaCloudサーバーを使用することをお勧めします。ここではcentos7.5バージョンのAlibabaCloudサーバーを使用し、セキュリティグループ情報を設定しています。ポート5656を開きました。ここ。
Xshell
また、簡単に操作できるようにサーバー端末をシミュレートする接続ソフトウェアも必要です。Xshellを使用しています。自分でダウンロードできます。オンラインリソースがたくさんあります。次に、ソフトウェアを開いて、サーバーに接続するための新しいリンクを作成します。図では、接続が成功した場合でも、サーバーファイルを表示するコマンドを入力します
Xftp 7
ここでは、ファイル転送の便宜のためにXftp7を使用しています。ファイルをサーバーに直接ドラッグしてアップロードしたり、自分でダウンロードしたりできます。視覚化ソフトウェアには多くの選択肢があります。
フラスコを展開する
プランの選択
nginx + uwsgi +flaksのデプロイスキームを使用しました。これについて詳しく説明します。デプロイメントを開始しましょう。
python3のインストール
もちろん、flaskファイルをコンパイルするには、サーバーでpythonを構成します
which python
mkdir /usr/local/python3
cd /usr/local/python3
依存関係をインストールする
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
python3をインストールします
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
この方法は時間がかかる場合があります。上記のWebサイトからインストールパッケージをダウンロードしてから、サーバーにインストールパッケージをアップロードすることもできます。
圧縮されたパッケージを解凍します
tar -xvJf Python-3.6.2.tar.xz
cd Python-3.6.2
./configure --prefix=/usr/local/python3
make && make install
ソフトリンクを作成する
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
このとき、サーバーにpython3と入力すると、インストールが成功したことを示す次のように表示されます。exit()と入力し、Enterキーを押して終了します。
##フラスコ
ルートフォルダーに実行するフラスコファイルを配置します。
フラスコをインストールし、ディレクトリを作成し、ファイルを実行します
pip3 install flask
cd /root/firstdemo
python3 app.py
操作が成功したら、図に示すように、サーバーのパブリックネットワークを介してアクセスし、ctrl + cと入力して操作を停止します。これは、サーバーのpythonコンパイル環境が正常にインストールされたことを意味します。
uwsgiをインストールします
インストール
pip3 install uwsgi
find / -name uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
nginxをインストールします
nginxをインストールする詳細な手順については、他の記事を参照してください。クリックして表示してください。
nginxとuwsgiの構成
nginxを構成する
これまでのところ、デフォルトでnginxのインストールは完了しています。次に、nginxを構成
し、nginxディレクトリのconfフォルダーに入ります。
/usr/local/nginx/conf
関連するファイル構成が実行されるnginx.confという構成ファイルがあることがわかります
。ファイルには多くのデフォルトコードがあります。以下では、構成を次のように簡略化します。
worker_processes 4;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server {
listen 80; // 监听的端口,默认为80端口
server_name 47.108.xxx.180; // 这里写服务器公网ip
location / {
proxy_pass http://127.0.0.1:5000;
// 需要代理的地址,我的项目启动地址是这个
}
}
}
設定ファイルが完成したら、nginxを起動できます。nginxの起動と停止の操作については、「クリックして確認」の記事で説明しています。
uwsgiを構成する
uwsgi関連のものの構成を開始しましょう。最初にプロジェクトフォルダーに入り、プロジェクト
フォルダーにuwsgi.iniという名前のファイルを作成します。
cd /root/firstdemo //进入项目文件夹
vi uwsgi.ini //输入就自动创建了文件并进入了编辑模式
ビジュアルツールを直接使用して
、uwsgiファイルの構成を開始したり、ファイル情報を添付したり、重要な情報にコメントを書き込んだり、必要に応じて他のファイルを構成したりすることもできます。
[uwsgi]
http-socket = 127.0.0.1:5000 // 启动地址
chdir = /root/firstdemo // 项目地址
wsgi-file = app.py // 项目的启动文件
callable = app
processes = 2
threads = 10
buffer-size = 32768
master = true
daemonize=flaskweb.log // 日志文件保存在falskweb.log中
pidfile=uwsgi.pid
設定が完了したら、プロジェクトのルートディレクトリでuwsgiを起動できます。uwsgiの関連する操作手順を以下に示します。
uwsgi --ini uwsgi.ini // 启动
uwsgi --reload uwsgi.pid // 重启
ディレクトリを入力し、コマンドを入力してuwsgiを起動します。次のようにすると、起動が成功します。
展開は成功しました
起動が成功したら、ブラウザを使用してサーバーのパブリックネットワークにアクセスできます。
以前のnginx構成では、起動アドレスをlocation /に直接配置したため、127.0.0.1:5000をパブリックネットワークIPに直接転送しました。 、直接インタビューできるように: