python3およびnginxプロジェクトをubuntu18.04にデプロイします

昨日[サーバー](https://cloud.tencent.com/product/cvm?from=10680)が新しい管理者アカウントを開設し、弱いパスワードが使用されたためにハッキングが発生し、sshはログインできませんでした。システムを再インストールする以外に方法はありませんでした。幸い、重要な情報はなく、サーバーは稼働していました。バスAPIとブログ、システムは午前中に再インストールされ、環境が再構築され、記録されました。

サーバーは[TencentCloud](https://cloud.tencent.com/product/cvm?from=10680)、システムはubuntu18.04、python2とpython3が付属しています。私のプロジェクトはpython3に基づいているため、直接使用できます。

1. 依存関係をインストールする

sudo apt install python3-pip
sudo apt install build-essential python-dev python-setuptools
sudo apt install build-essential python3-dev  python3-setuptools

**2. virtualenv **をインストールします

Virtualenvは、仮想python環境を作成するために使用されます。これにより、Pythonアプリケーションごとに独立した開発環境を作成して、相互に影響を与えないようにすることができます。Virtualenvは次のことができます。

pip3 install virtualenv

インストールが成功したかどうかを確認します

virtualenv --version

インストールは成功しました。次に使用します。私のプロジェクトはapiサービスです。プロジェクトファイルを/ optの下に置き、ファイル名はbusAPIで、すべてのプロジェクトファイルをそこに置きます。

venvという名前の仮想環境をインストールし、プロジェクトディレクトリに入る必要があります。

virtualenv venv

新しいvenvディレクトリがプロジェクトディレクトリに作成されます。このディレクトリには、pythonを実行する基本環境用のツール、手順、およびパッケージが含まれています。次に、環境を有効にします。

source venv/bin/activate

単語(venv)は、activateコマンドを呼び出した後、コマンド文字の前に表示されます。非アクティブ化することで仮想環境を終了できます。

3. インストールプロジェクトの依存関係(Flaskフレームワーク)

私のプロジェクトファイルはディレクトリにアップロードされましたが、プロジェクトの依存関係はまだインストールされていません。依存関係、私の依存関係ファイルをインストールしてください

Requirements.txtファイルに配置されています。

pip install -r requirements.txt

この方法で依存ファイルをインストールする方が便利です。依存関係が少ない場合は、1つずつインストールできます。

**4. uWSGI **をインストールして構成します

この時点で、uWSGIを仮想環境に直接インストールしました

pip install uwsgi

プロジェクトのルートディレクトリに新しいconfig.iniファイルを作成します

vim config.ini

ドキュメントの内容

[ uwsgi]
# uwsgiの起動時に使用されるアドレスとポートソケット=127.0.0.1:8001 
# Webサイトディレクトリchdirをポイントします=/opt/busAPI/
# pythonスタートアッププログラムファイルwsgi-file = run.py
# pythonプログラムの開始に使用される呼び出し可能なアプリケーション変数名= app
# プロセッサの数=4
# スレッド=2
# ステータス検出アドレス統計=127.0.0.1:9191

コメントはすでに明らかです。callable= appこのアプリはrun.pyプログラムファイルの変数であり、この変数のタイプはFlaskのアプリケーションクラスであることを説明してください。

テストを実行できます

uwsgi config.ini

ただし、これはコマンド起動の一形態にすぎません。サーバーから起動してバックグラウンドサービスとして実行するには、オペレーティング環境が実際に必要です。したがって、次に、uwsgiを起動するための別のツールをインストールする必要があります。

5. スーパーバイザーのインストール

sudo apt-get install supervisor

スーパーバイザーのグローバル構成ファイルの場所は次のとおりです。

/etc/supervisor/supervisor.conf

通常の状況では、変更を加える必要はありません。新しい* .confファイルを追加し、** / etc / supervisor / conf.d / **の下に置くだけで、新しいファイルを作成します。 busAPIプロジェクト(名前:busAPI.conf)の開始に使用されるuwsgiのスーパーバイザー構成:

[ program:busAPI]
# コマンド入力コマンドの開始=/opt/busAPI/venv/bin/uwsgi /opt/busAPI/config.ini
# コマンドプログラムが配置されているディレクトリ=/opt/busAPI#コマンドuserを実行するユーザー名=root   autostart=trueautorestart=true
# ログアドレスstdout_logfile=/var/log/uwsgi_supervisor.log

サービスの開始と停止#

# サービス開始
sudo service supervisor star
# サービスの終了
sudo service supervisor stop
# ステータスを確認する
sudo service supervisor status

**6. Nginx **をインストールします

sudo apt-get install nginx

Nginxを構成し、デフォルトファイルを変更します

/etc/nginx/sites-available/default

デフォルトはポート80です。アップルレットはhttpsである必要があるため、ここでは80を使用しませんでした。そこで、ポート443を構成し、Nginxを再起動しました。

sudo service nginx restart

Nginxサービスコマンド

# 起動
sudo service nginx start
# やめる
sudo service nginx stop
# リブート
sudo service nginx restart
# ステータスを確認する
sudo service nginx status

7. 総括する

プロセスを最初から記録し、途中で多くのピットに遭遇しましたが、最終的には操作は成功しました。要約すると、将来的に見つけるのに便利です。

より質の高いコンテンツについては、【ユースコーダー】にご注目ください。

Recommended Posts

python3およびnginxプロジェクトをubuntu18.04にデプロイします
Centos7はpython3仮想環境を展開します
python3およびnginxプロジェクトをubuntu18.04にデプロイします
[python] ubuntuの下のpython2とpython3
Ubuntu16.04にPython3をインストールします
UbuntuにPython3.7をインストールする
Ubuntu 18.04LTSにPython3.7をインストールします
ubuntu18.04python3.8をコンパイルしてインストールします
Jmeter(18)_Ubuntuはjmeterとantを展開します
スーパーバイザー+ Nginx + Python3はトルネードを展開します
JobConverter + Ibreoffice環境をUbuntuにデプロイする
Ubuntu20.04にNginxをインストールする方法
UbuntuにMySQLをインストールして構成する
Ubuntu18.04にPython3.8をインストールする方法
UbuntuにGerritをインストールしてデプロイする
Ubuntu14.04にDjangoをデプロイする方法
Ubuntu14.04でNginxを保護する方法
Ubuntu18.04にPython仮想環境をインストールします
Ubuntu20.04にNginxをインストールする方法
centos7でpython3環境を構成し、
UbuntuにTensorFlow(python2.7バージョン)をインストールします
Ubuntu16.04にNginxをインストールする方法
Nginxのインストールと構成のロード(ubuntu12.04)
Ubuntuに最新のPython3.6バージョンをインストールします
ubuntu18用のpython3.7のインストールに関する詳細なチュートリアル
UbuntuにPythonモジュールをインストールするときにエラーが発生しました
ubuntuと基本的な使用法にdockerをインストールします
Ubuntu環境でのNginxのインストールと展開
Ubuntuにフォントをインストールし、デフォルトのフォントを切り替えます
UbuntuシステムでNginxGitサーバーを構成する
Dockerをデプロイし、CentOSでNginxを構成します
Ubuntu20.04 ubuntu / focal64にPython2をインストールする方法
UbuntuにCUDAとCUDNNをインストールしてアンインストールします
python3を使用してubuntuに3番目をインストールします
M5Stackはubuntuで開発およびコンパイルされています
Ubuntu18.04ですべてのPythonライブラリをアップグレードする方法
Ubuntu 16.04 /18.04にPycharmとIpythonをインストールする方法
Ubuntu 16.04にJDKをインストールし、環境変数を構成します
Ubuntu18.04にGogsをインストールして構成する方法
Ubuntu16アップグレードPython3
ubuntu18.04インストールpython2
ubuntuを再学習します--python3
Ubuntu18.04にCyberpanelをインストールして構成する方法
Ubuntu16.04にphpMyAdminをインストールして保護する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu16.04にownCloudをインストールして構成する方法
ubuntu12.04インストールpython3
UbuntuLinuxにGitとGitHubをインストールして使用する
Ubuntu18.04にGitLabをインストールして構成する方法
Ubuntu20.04にDockerをインストールして使用する方法
ドッカーをubuntuサーバーにすばやくデプロイする方法
Ubuntu18.04にCurlをインストールして使用する方法
Ubuntu18.04にComposerをインストールして使用する方法
UbuntuでPython3を楽しくプレイする方法
ubuntuのランプ
Python and Go
Ubuntu16.04にphpMyAdminをインストールして保護する方法
Ubuntu16.04にElasticsearchをインストールして構成する方法
Ubuntu14.04にPostGISをインストールして構成する方法
Ubuntu20.04にComposerをインストールして使用する方法
[練習] Ubuntuシステムにpython3.6をインストールする方法
Ubuntu14.04にBaasBoxをインストールして使用する方法