[ウェブサイトの構築] Nginxとflaskフレームワークを使用してクラウドサーバー上にウェブサイトを構築します

1.クラウドサーバーの購入

Tencent Cloudで購入したサーバーは、Tencent Cloudにアカウントを登録し、[コンソール]-[クラウドサーバー]-[新規]に従ってクラウドサーバーを購入
ここに画像の説明を挿入します
できます。下図のように、メモリサイズを選択できます。個人のニーズに応じたCPUコア数とその他のパラメーター
ここに画像の説明を挿入します
CentOs7.7、64ビット、2コア、4Gメモリ、2Mbpsパブリックネットワーク帯域幅クラウドサーバーを選択しました
ここに画像の説明を挿入します

2.Xshellをダウンロードしてサーバーに接続します

(1)Xshell6.0ダウンロードリンク

(リンク:https
://pan.baidu.com/s/1gUpALbp797Vl5RnfSJGI1g抽出コード:vuxu)

(2)接続

ここに画像の説明を挿入します
クラウドサーバーを購入すると、クラウドサーバーのパブリックネットワークと内部ネットワークのIPアドレスを取得し、リンクするパブリックネットワークのIPアドレスとパスワードを入力すると、Xshellを介してLinuxオペレーティングシステムを操作できます。

3.ドメイン名の購入と解決

クラウドサーバーを購入した後、パブリックIPアドレスを介してクラウドサーバーにアクセスできます。同時に、クラウドサーバーにアクセスするための専用ドメイン名を購入することもできます。ドメイン名購入リンク(https:// cloud。 tencent.com/document/product / 242/8584)。ドメイン名を購入した後、ドメイン名を解決し、リンクを解決する必要があります(https://cloud.tencent.com/document/product/242/8584)

4.htmlファイルを直接公開します

(1)nginxをインストールします

コマンド付き

yum install -y nginx

nginxをインストールし、インストール後にnginx -vと入力すると、対応する#バージョン番号が表示されれば、インストールは成功しています。

(2)書類の準備

mkdir -p /data/www/hexo
chmod -R 777 /data/www/hexo
vim /data/www/hexo/index.html

次のようにコードを追加します

<!DOCTYPE html><html>
  <head>
    <title></title>
    <meta charset="UTF-8">
  </head>
  <body>
    <p>Hello world!</p>
  </body></html>

(3)nginx.conf構成ファイルを変更します

vim /etc/nginx/nginx.conf
server {
    
    
        listen       80; //nginx 默认80端口
        server_name  www.xxx;//域名
        root         /data/www/hexo;//文件位置/usr/share/nginx/html
    }

(4)Nginxサービスを開く

systemctl  start nginx

ブラウザはドメイン名(パブリックIPまたはドメイン名)にアクセスして、index.htmlのコンテンツに正常にアクセスできるかどうかを確認します。nginx構成を毎回変更する場合は、コマンドnginx -sreloadを入力して構成を有効にすることができます。 。サーバー80ポートのセキュリティグループルールに追加する必要があります。追加しないと、出力がありません。
ここに画像の説明を挿入します

5.Webサイトを構築するためのFlaskフレームワーク

(1)pipをインストールします

次のような詳細なチュートリアル:

  • まず、python-pipパッケージがlinuxにインストールされているかどうかを確認し、yum install python-pipを直接実行すると、利用可能なパッケージpython-pipが表示されません。インストールされていない場合は、次のように続行します。
  • python-pipパッケージなしでコマンドyum-y installepel-releaseを実行します
  • 正常に実行されたら、yum installpython-pipを再度実行します。
  • インストールされているpippipinstallをアップグレードします--upgradepip

この時点で、pipツールがインストールされます。

(2)virtualenvとvirtualenvwrapperをインストールします

pip install virtualenv
pip install virtualenvwrapper

(3)プロジェクトとPython仮想環境を作成します

Pythonのvirtualenvを使用して仮想環境を作成します。システム内にさまざまなPython分離環境を作成するために使用されます。お互いに影響を与えることはなく、使い方はとても簡単です。

mkdir myflask
cd myflask
virtualenv venv

(4)仮想環境をアクティブ化する

source venv/bin/activate

(5)Python Webフレームワークをインストールします—フラスコ

Flaskは軽量のPythonWebフレームワークであり、シンプルで効率的です。Flaskは、werkzeugとjinjia2の2つのライブラリに依存しています。pipでインストールできます

pip install flask

(6)コードファイルの準備

vim run.py
from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
  return 'hello world!'

if __name__ == '__main__':
  app.run()

(7)コードを実行します

フラスコを開始します

python run.py

この時点で、ブラウザを使用してドメイン名またはパブリックIPにアクセスすると、HelloWorldを表示するWebページが表示されます。
ここに画像の説明を挿入します

(8)gunicornを使用してPythonWebをデプロイします

上記のコードの実行結果では、次の2行の結果を確認できます。ここで、flaskに付属のサーバーを使用して、Webサービスの起動を完了します。実稼働環境では、Flask自体のサーバーはパフォーマンス要件を満たすことができません。ここでは、gunicornをwsgiコンテナーとして使用して、Pythonをデプロイし、pipを使用して直接インストールします。

   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
pip install gunicorn

gunicornをインストールした後、gunicornでflaskを起動する必要があります。flaskの名前のコードはapp.run()を起動することに注意してください。これは、flaskに付属のサーバーでアプリを起動することを意味します。ここではgunicornを使用しています。run.pyはgunicornによって呼び出されるライブラリファイルと同等です。

gunicorn -w4 -b0.0.0.0:5000 run:app

この時点で、アクセスにポート5000を使用できます。
gunicornを終了するには、pkill gunicornを実行するだけでよく、場合によってはpsを使用してkillするpidプロセス番号を見つける必要があります。

(9)Nginx構成

vim /etc/nginx/nginx.conf
server {
    
    
  listen    80;
  server_name localhost;
  location / {
    
    
    proxy_pass http://127.0.0.1:5000;
    proxy_redirect off;
    proxy_set_header Host $host:80;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

}

server_nameはドメイン名です。ここでは、localhostはIP経由のアクセスを表すために使用されます。default.confを構成した後、Nginxを起動してみてください。

(10)Nginxサービスを開く

systemctl  start nginx

ブラウザはドメイン名(パブリックIPまたはドメイン名)にアクセスして、index.htmlのコンテンツに正常にアクセスできるかどうかを確認します。nginx構成を毎回変更する場合は、コマンドnginx -sreloadを入力して構成を有効にすることができます。 。サーバー80ポートのセキュリティグループルールに追加する必要があります。追加しないと、出力がありません。

(11)nohupの使用

xshellでドメイン名にアクセスすると、次のエラーが表示されます。
ここに画像の説明を挿入します
プログラムをLinuxバックグラウンドで実行する場合、つまりxshellプログラムを閉じても実行できるようにする場合は、次のエラーが発生します。nuhupコマンドを使用します。詳細については、リンク(https://www.jb51.net/article/169783.htm)を参照してください。sh
ファイルを編集して、test.shという名前を付けます。

vim test.sh
cd myflask
source venv/bin/activate
gunicorn -w4 -b0.0.0.0:5000 run:app

シェルファイルを編集した後、次のコードを実行して、プログラムを常にバックグラウンドで実行します。

nohup bash test.sh &

(12)ウォームリマインダー

クラウドサーバーでhtmlをジャンプする場合、ポートを追加する必要はありません。通常のサーバーまたはWindows環境では、actionUrl = "http:/%s /%sresult"%(ip、port)、コードは次のとおりです。

from flask import Flask, render_template

app = Flask(__name__)

ip = "0.0.0.0" #IP地址或者域名
port = 5000 

@app.route("/")
def search():
    actionUrl = "http:result"#云服务器
    #actionUrl =  "http://%s:%s/result"%(ip,port)#普通服务器或者windows系统
    return render_template("login.html",actionUrl=actionUrl)

@app.route("/result",methods = ["POST", "GET"])
def result():
    return render_template("login1.html")

if __name__ == "__main__":
        app.run()

おすすめ

転載: blog.csdn.net/weixin_44704985/article/details/108563741