フラスコ+nginx+ uwsgiデプロイメントサーバー(詳細な乳母レベルのチュートリアル)

概要

このプロジェクトでは、フロントエンドで使用するためにサーバーにデプロイする必要のあるインターフェイスをフラスコを使用して作成しました。途中で多くのピットを登ったので、今回は詳細な記録を作成し、フラスコの実行方法を教えました。ゼロからプロジェクトします。

準備オーケー

サーバ

まず、導入にはサーバーが必要です。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に直接転送しました。 、直接インタビューできるように:
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_45745641/article/details/119617866