Aは、サーバとクライアントの間(ウェブ検査)をインターワーキング確認しました
ping 192.168.184.131
第二に、構成環境
1.ファイアウォールの状態を確認します
systemctl status firewalld
#(setenforce 0 次命令可暂时不使用)
#暂停防火墙
systemctl stop firewalld
サーバーへ2.プロジェクトファイル
mkdir ~/downloads
#以降のパス保存ファイルをダウンロードするための
mkdir /home/conf /home/logs /home/env /home/src
:#/ homeディレクトリ下のconfログのenv SRC 4つのディレクトリの作成
#conf設定ファイル:nginx.confを、uwsgi.iniファイルは、
ファイルストレージの日を記録します:nginxのは、ファイルとuwsgi日ファイル起動と実行に失敗した
のenv仮想ストレージ環境を
SRCプロジェクトファイル、コードの格納ディレクトリ
ローカルコンピュータのプロジェクトファイルにパッケージファイルを生成するpackage.txt必要が
次のプロジェクト環境に:
ピップフリーズ> package.txt
Bの使用は、対象プロジェクトファイルとpackage.txt xftp使用して、サーバーに接続xshell
サーバーへの:
/ホーム/ SRC /
python3とPIP3をインストール3。
。Aは、最初のGCCコンパイラをインストールします。
yum -y install gcc
gcc --version
。Bは、依存関係(python3.7.0を以下libffi-develのインストールされなくてもよい)をインストールします。
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 libffi-devel
ダウンロードC :.
CDのディレクトリは、インストールパッケージのpython3をダウンロードします
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
(https://www.python.org/ftp/python/ソースパッケージのpython独自のニーズを選択して、ここからダウンロードページが内部に行くために、サーバに直接ダウンロードすることができ、python3.7.0です)
。D解凍のPython-3.7.0.tgz:
tar -zxvf Python-3.7.0.tgz
F。コンフィギュレーションファイル、コンパイル、ビルドを実行してインストールするのpython3
ソースコンパイラのインストールを
cd Python-3.7.0
./configure --prefix=/usr/local/python3
#設定ファイルは位置に置きます
make && make install
#コンパイルとインストール
インストールが完了していないが、間違ったインストールが成功したことに言及され
グラム。ソフトな接続を確立します
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
時間。ビューバージョン
python3 --version
pip3 --version
4 virtualenvの取り付け
A.インストール
yum install python-virtualenv
#仮想環境を作成したenv
#は、仮想環境を保存するディレクトリを入力します。
cd /home/env
virtualenv --no-site-packages testenv
(のpython3のインストールを指定:virtualenvの-pは/ usr / binに/のpython3 --no-のsite-packages testenv)を
CD testenv
非アクティブ化:#(閉じた環境コマンド仮想環境のアクティブ化
ここではあるが。
CD /ホーム/ ENV / testenv / binに/
非アクティブ化)
ソースビン/アクティブ
(ソース/ホーム/ ENV / testenv / binに/アクティブ)
B。必要なパッケージの環境プロジェクトをインストールします。
pip3 install -r package.txt
(再活性化は、インストールパッケージの環境条件の下で項目を指定しました:
pip install -r /home/src/mintorFlask/package.txt )
5アンダー活性化、仮想環境のテストフラスコサービス
python3 manage.py runserver --host 127.0.0.1 -p 5000
注デバッグ= Falseの修正正式なデプロイメント環境
6インストール構成Uwsgi
。uwsgiをインストール
/home/env/testenv/bin/python3/pip3 install uwsgi
B。uwsgiプロファイルを作成します。
cd /home/conf
vim uwsgi.ini
次のことを書く:ノートを削除
[uwsgi]
socket= 127.0.0.1:5000 # http 协议对客户端开发的端口号,客户端通过此端口访问 flask web 服务接口
pythonpath = /home/src/my_project # my_project应用整个目录,即python代码所在目录
wsgi-file = /home/src/my_project/manage.py # web 应用python主程序
callable = app # 一般在主运行程序 run_app.py 里指定 app = Flask(__name__)
processes = 4
threads = 2
demonize = /home/log/uwsgi.log # 指定日志文件;如果使用 supervisors 需要注释掉,否则,supervisors 不能自动拉起 uwsgi 程序
home = /home/env/testvenv # python 虚拟环境目录
C。プロジェクトを実行
入力/ホーム/ confに
/home/env/testenv/bin/python3/uwsgi --ini uwsgi.ini
(关闭uwsgi命令 :pkill -f uwsgi -9)
現在のディレクトリのlsに誤りがない場合は、uwsgi.logの下に作成されたログファイルを表示することができます
7インストール構成nginxの
cd /home
。A nginxのインストールパッケージ:
wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
。Bエキスパッケージ:
tar -zxvf nginx-1.12.2.tar.gz
C。nginxの-1.12.2、コンパイルされたインストール構成に切り替え
/opt/nginx-1.12.2
./configure \
>回车
D。コンパイル、インストール
make && make install
#安装软连接
ln -s /usr/local/ngnix/sbin/nginx /usr/bin/nginx
这里查看一下 nginx是在哪个目录下可以启动
すなわちテスト
nginx #没有任何提示就是成功了
F。バックアップの設定ファイル
cd /usr/local/nginx/conf
cp nginx.conf nginx.conf.bak
グラム。構成されました
vim nginx.conf
server {
listen 80;
server_name src;
#charset koi8-r;
#access_log logs/host.access.log main;
access_log /home/log/flask.log;
error_log /home/log/flaskError.log;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000; #这里要和uwsgi 端口ip一致
uwsgi_param UWSGI_PYHOME /home/env/testenv; //指向虚拟环境目录
uwsgi_param UWSGI_CHDIR /home/src; #项目位置目录
uwsgi_param UWSGI_SCRIPT manage:app; #项目启动文件名
这里是manage.py和主程序注册app
}
}
nginxのは、それが正しく設定されているチェック
nginx -t -c /usr/local/nginx/conf/nginx.conf
再起動
nginx -s reload
(閉じる:nginxの-s停止)
再実行uwsgi
/home/env/testenv/bin/python3/uwsgi --ini /home/conf/uwsgi.ini
そうでない場合、それは成功の上で実行されます!おめでとうございます!
アクセス:192.168.184.131は成功となります
ファイアウォール関連:
(https://blog.csdn.net/Honnyee/article/details/81535464)
注:サービス検出をプレイした場合、外部サービスのtelnetが通過しないアクセスすることはできません
ファイアウォール-CMD --zone =公共--add-ポート= 5005 / tcpの--permanent
(永久-permanent、この引数には、障害発生後に再起動しません)
(外部からのアクセスに非常に)外部ポートへのアクセスを追加し
、ファイアウォール-CMD = --add-ポート5000 / TCP
リロードは、リロードがポートを追加した後に有効になります
ファイアウォール-cmdを--reload
これらの後に、ポートが正常に実行されない場合は、システムを再起動しようとし、成功した開かれました
オープンポート(アクセスルールを追加し、外部からのアクセスを追加) -再起動ファイアウォール-仮想マシンの再起動
で最も重要なのは(このサービスポートの使用である)サービスリスニングポートを持っている必要があり、経由のみアクセス可能!!