クラウドサーバーはBaotaを使用してPython環境を構築し、Djangoプログラムを実行します。

クラウドサーバーはBaotaを使用してPython環境を構築し、Djangoプログラムを実行します。

始める前に、サーバーが必要です。

Pagodaをインストールする

バオタ公式サイト:https://www.bt.cn/

CentOS システムを使用している場合は、次のコマンドを使用してインストールします。

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

インストールが完了すると、アクセスアドレス、アカウント番号、パスワードが表示されます。

この時点で最初に行うべきことは、クラウド サーバーのコントロール パネルに移動してポート8888を開くことです。詳細についてはセキュリティ グループ構成を検索し、ポートを開くことができます。

Baota をインストールした後、再度アドレスにアクセスすると、ログイン インターフェイスが表示されます。これは、ポートが開いており、Baota が正常に動作できることを意味します。

Pythonランタイム環境を構成する

Baota のソフトウェア ストアを開き、下の図に示すように関連コンテンツをインストールします。Baota にログインすると、デフォルトでLAMPまたはLNMPインストールが推奨されます。推奨されるインストールを選択するだけです。

上記の Python プロジェクト マネージャーは、Python プログラムに対するその後の操作に不可欠なプラグインであることに注意してください。

Pythonをインストールする

Python プロジェクト マネージャーの右側にある [設定] ボタンをクリックし、ポップアップ ウィンドウで [バージョン管理] を選択して、必要な Python バージョンをインストールします。ここでのインストール速度は少し遅いので、しばらくお待ちください。

Django環境を設定する

Django 環境を構築する際は、必ず以下の図を参考に構築してください。モジュール依存関係をインストールするかどうかは、プロジェクト内にrequirements.txtファイルがあるかどうかで決まります。ある場合は、それを確認してください。プロジェクト開始後にモジュールを個別に構築することもできます。

モジュールのインストール

プロジェクトが初期化されたら、右側のモジュールをクリックして、 djangoなど、プロジェクトで使用されるモジュールを手動でインストールします。

モジュールをインストールするときは、バージョン番号に注意してください。たとえば、私はローカルで Django のバージョン 2.x を使用しているため、サーバーもこのバージョンをインストールします。

すべてのモジュールがインストールされたら、Python サービスを再起動できます。ここでは、再起動が成功したことを確認するためにログの内容に注意する必要があります。

ここではPython Djangoの動作中に発生するさまざまな問題を示します。

たとえば、最初の実行時に Centos システムのsqlite3バージョンが低すぎる場合、ログにSQLite 3.xx or later文字が表示されます。このとき、SQlite バージョンをアップグレードする必要があります。

以下の内容はインターネットから転載したものです(https://www.jb51.net/article/231391.htm、元の著者に感謝します。アップグレードの際に参照できます)

# SQLite 3 のアップデート
# ソースコードを取得する(ホームディレクトリで実行)
[root@djangoServer ~]# cd ~
[root@djangoServer ~]# wget https://www.sqlite.org/2019/sqlite-autoconf-3270200.tar.gz
[root@djangoServer ~]# tar -zxvf sqlite-autoconf-3270200.tar.gz

# [root@djangoServer ~] をビルドしてインストールします# cd sqlite-autoconf-3270200
[root@djangoServer sqlite-autoconf-3270200]# ./configure --prefix=/usr/local/sqlite
[root@djangoServer sqlite-autoconf-3270200]# make && make install

# バージョンを確認 ## インストールされている最新の sqlite3 バージョン [root@djangoServer ~]# /usr/local/sqlite/bin/sqlite3 --version
3.27.2 2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7
[ルート@djangoServer ~]#

## Centos7 独自の sqlite3 バージョン [root@djangoServer ~]# /usr/bin/sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
[ルート@djangoServer ~]#

## sqlite3 のバージョンがまだ古いバージョンであるため、更新する必要があることがわかります。
[root@djangoServer ~]# sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
[ルート@djangoServer ~]#

## 古い sqlite3 への変更
[root@djangoServer ~]# mv /usr/bin/sqlite3 /usr/bin/sqlite3_old

## ソフトリンクは新しい sqlite3 を /usr/bin ディレクトリに設定します [root@djangoServer ~]# ln -s /usr/local/sqlite/bin/sqlite3 /usr/bin/sqlite3

## 現在のグローバル sqlite3 バージョンを表示する [root@djangoServer ~]# sqlite3 --version
3.27.2 2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7
[ルート@djangoServer ~]#

# 共有ライブラリへのパスを渡す # 起動時の実行が自動的に実行されるように設定する。次の export 文を ~/.bashrc ファイルに記述できます。すぐに有効にしたい場合は、source ~/.bashrc を実行できます。ターミナルを起動するたびに実行されます。[root@djangoServer ~]# export LD_LIBRARY_PATH=/usr/local/sqlite/lib

実行されていて、ログにエラー データが生成されていない限り、構成は成功していることを意味します。次に、nginx リバース プロキシを設定できます。

nginx リバースプロキシ

下の画像のマッピング ボタンをクリックし、ドメイン名またはサーバーの外部 IP を入力します。

Baota ウェブサイトの機能メニューに戻ると、新しいサイトが表示されます。

ウェブサイト名をクリックしてリバース プロキシ構成を表示し、実行されていることを確認します。

この時点で、ブラウザを開いてドメイン名または IP を入力し、Django プログラムに正常にアクセスできるかどうかをテストできます。それでもエラーが発生する場合は、プロジェクトのルート ディレクトリにあるsettings.pyファイルをチェックして、次の内容、つまりALLOWED_HOSTが構成されているかどうかを確認します。

Django プログラムにまだ静的リソースがある場合は、必ずリバース プロキシ設定 (空白行を見つける) に移動して、静的ディレクトリ設定を追加してください。

    場所 /static/
    {
        エイリアス /www/wwwroot/プロジェクトアドレス/static/;
    }

最後に、パゴダで Web サイトのポート (この場合は8000にアクセスできるかどうかを確認してください。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Tencent Cloud Server をベースに WeChat アプレット バックエンド サービスを展開 (Python+Django)
  • Django 本番環境構築 (uWSGI+django+nginx+python+MySQL)
  • Python3+mysql8.0でDjangoフレームワークを構築する方法を教えます

<<:  MySQLウィンドウ関数の具体的な使用法

>>:  HTMLのリストタグを数える

推薦する

JavaScript セレクター関数 querySelector および querySelectorAll

目次1. querySelectorは単一の要素を照会する1. ドキュメントインスタンスの呼び出し2...

アニメーションの再生と一時停止を制御するための CSS のヒント (非常に実用的)

今日は、CSS を使用してアニメーションの再生と一時停止を制御する非常に簡単なトリックを紹介します。...

選択ドロップダウンボックスの値をIDに渡してコードを実装する方法

完全なコードは次のとおりです。 HTMLコード:コードをコピーコードは次のとおりです。 <!-...

Linux redis-Sentinel 設定の詳細

ダウンロードダウンロードアドレス: https://redis.io/download /usr/l...

mysql 8.0.15 winx64 解凍バージョン グラフィック インストール チュートリアル

システムをインストールした後、毎回いくつかのソフトウェアを再インストールする必要があります。ソフトウ...

MySQL マスタースレーブレプリケーションスレッドの状態遷移に関する詳細な理解

序文MySQL マスター スレーブ レプリケーションの基本原理は、スレーブ データベースがマスター ...

Vue で Excel インポート機能を実装する詳細な手順

1. フロントエンド主導の実装手順最初のステップは、ページのインポートボタンをクリックしてExcel...

MySQLデータ遅延ジャンプの問題の解決策

今日は、データベース遅延ジャンプに関する別の典型的な問題を分析しました。このプロセスでは、参考のため...

CSS で中空効果を実装するサンプルコード

効果原理主にCSSグラデーションを使用して、切り取りを必要としない背景のくり抜きを実現します。クーポ...

Mac 環境での Nginx 構成とローカル静的リソースへのアクセスの実装

ローカル開発では、直接アクセスできない静的ファイル リソースのデバッグが必要になる場合があります。こ...

RabbitMQ の Docker インストールと設定手順

目次単一マシンの展開オンラインプルミラーを見るRabbitMQを作成して実行するMQコンテナを正常に...

React refの使用例

目次refとは何かrefの使い方DOM要素に配置するクラスコンポーネントに配置する関数コンポーネント...

CSS3で実装された天気アイコンのアニメーション効果

成果を達成する 実装コードhtml <div class="wrapper"...

Keras を使って SQL インジェクション攻撃を判断する (例の説明)

この記事では、ディープラーニングフレームワーク keras を使用して、SQL インジェクションの特...

Vue ディレクティブ v-html と v-text

目次1. v-text テキストレンダリング命令2. v-html 1. v-text テキストレン...