クラウドサーバーは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のリストタグを数える

推薦する

win10 で mysql8.0.23 をインストールし、「サービスが制御機能に応答しません」という問題を解決する方法

Windows10にmysqlをインストールする1. 公式サイトからMySQLをダウンロードするウェ...

なぜ Tomcat が起動できないのでしょうか?

目次現象:ポートの使用:ファイルにスペルミスがあります:現象: Tomcat がインストールされ、W...

JS 非同期コードユニットテストの魔法 Promise

目次序文プロミスチェーンMDN エラー連鎖デフォルト処理略語非同期待機序文この記事を書いた理由は、ユ...

Nginx の一般的な設定とテクニックの概要

序文この記事では、Nginx の一般的な、実用的で興味深い構成をいくつか紹介します。この記事を読んだ...

初心者向けMySQLシリーズチュートリアル

目次1. 基本概念と基本コマンド1) 基本的な概念2) 基本コマンド2. SQL文の記述順序と実行順...

Confluence と jira-software を Docker にデプロイする方法

バージョン: セントロス==7.2 jdk==1.8 合流==6.15.4 jira-ソフトウェア=...

要素フォーム検証で検証プロンプトをクリアする方法

目次問題のシナリオ:解決: 1. フィールドを個別にチェックする2. フォームフィールドの下のフィー...

同期スクロールを実現するための複数のテーブル要素のサンプルコード

Element UIは、複数のテーブルを同時に水平および垂直にスクロールすることを実装します。 コー...

ネイティブ js カプセル化シームレスカルーセル機能

ネイティブjsカプセル化シームレスカルーセルプラグイン、参考までに、具体的な内容は次のとおりです。例...

Linux システムでログを手動でスクロールする方法

ログローテーションは、Linux システムでは非常に一般的な機能です。ログローテーションは、システム...

MySQL の遅いクエリとクエリ再構築方法の記録

序文スロークエリとは何か、またスロークエリを最適化するにはどうすればよいか。以下では、これら 2 つ...

Linux コマンド クエリ アプレットでの WePY クラウド開発の実践

みなさんこんにちは。今日は Linux コマンド クエリ アプレットでの WePY クラウド開発の実...

Mysql ALTER TABLE はフィールドを追加するときにテーブルをロックしますか?

目次MySQL 5.6以前MySQL 5.6以降要約する知らせMySQL 5.6以前更新手順元のテー...

CSSアニメーションによるテーブルスクロールカルーセル効果の実装

前回の CSS 回転灯と同じ内容の CSS アニメーションの応用です。これは単なる別のアプリケーショ...

Vue はフォームデータ検証のサンプルコードを実装します

el-form フォームにルールを追加します。データにルールを定義する定義されたルールをel-for...