在Ubuntu 22.4上,搭建Flask开发环境

スクリーンショット 2022-06-16 145821.png
スクリーンショット 2022-06-16 145914.png
スクリーンショット 2022-06-16 150038.png
スクリーンショット 2022-06-16 150216.png
ubuntu-desktop-04.png
ubuntu-desktop-05.png
ubuntu-desktop-06.png
ubuntu-desktop-07.png
ubuntu-2204-110.jpg
スクリーンショット 2022-06-16 151105.png
ubuntu-2204-112.jpg

正在重新启动中

画面に表示されているエンターをクリック
ubuntu-2204-113.jpg

重启完成画面

ubuntu-2204-120.jpg

登录页面

パスワードを入力
ubuntu-2204-121.jpg

成功登录后的主页。

ubuntu-2204-122.jpg

放大画面

スクリーンショット 2022-06-16 153251.png
スクリーンショット 2022-06-16 153329.png
スクリーンショット 2022-06-16 153355.png

更改快捷方式 jié shì)

image.png
image.png
image.png

为了使主机与客人之间能够进行复制粘贴。

スクリーンショット 2022-06-16 154314.png
スクリーンショット 2022-06-16 154433.png
image.png
image.png

使用ll命令可以显示目录中的文件。

image.png

执行以下文件

image.png

运行命令

./autorun.sh
image.png

输入的密码被破解。

スクリーンショット 2022-06-16 161222.png

当屏幕显示以下内容时,请按下回车键。

image.png

右击「VBox_GAs_6.1.34」磁盘标志的图标,打开菜单,点击「取出」选项以卸载「Guest Additions CD镜像」的挂载。

image.png

在中国的本地化的情况下,只需要一种选择: 设置VirtualBox主体

image.png
image.png
image.png

重新启动

再起動しないと有効になりません。

重启命令

reboot

更新软件包列表

sudo apt update
sudo apt full-upgrade

确认Python 3的版本

python3 -V

安装Python的版本管理工具【pip】。

sudo apt install -y python3-pip

安装NumPy库

package_nameは、Web開発用のDjangoや科学計算用のNumPyなど、
任意のPythonパッケージまたはライブラリを参照できます。

pip3 install numpy 
プログラミング環境の堅牢なセットアップを確保するために、
パッケージと開発ツールをインストールする。

sudo apt install -y build-essential libssl-dev libffi-dev python3-dev

##### 步骤2 — 设置虚拟环境

仮想環境を使用すると、Pythonプロジェクト用にサーバー上に隔離されたスペースが確保できます。
これにより、各プロジェクトが、他のプロジェクトを中断させない独自の依存関係を持つことができます。

プログラミング環境をセットアップすると、
Pythonプロジェクトやパッケージのさまざまなバージョンの処理方法をより詳細に制御できます。
これは、サードパーティのパッケージを使用する場合に特に重要です。

必要な数のPythonプログラミング環境がセットアップできます。各環境は基本的に、
サーバーを環境として機能させるためのいくつかのスクリプトを含むサーバー上のディレクトリまたはフォルダーです。

Pythonでプログラミング環境を構築する方法はいくつかありますが、ここでは、
標準のPython 3ライブラリの一部であるvenvモジュールを使用します。次を入力してvenvをインストールしましょう。

sudo apt install -y python3-venv

Flask安装##

Flask インストール
pip3 install flask

安装能够使得Apache2和Apache支持Python3的模块。

pache2のインストール
sudo apt install apache2

apache2のバージョン確認
apache2 -v

.apache2の状態確認
sudo systemctl status apache2

.apacheの稼動を確認、IPアドレスを取得
sudo apache2ctl configtest

安装mod_wsgi

wsgiパッケージインストール


mod_wsgi(ウィズギー)は、PythonフレームワークとApache2を連携させるためのインターフェースモジュール。
wsgi無しでは、PythonをWebサーバーと連携できないので、インストールが必要。
※一応cgiを使うという手もある

sudo apt install libapache2-mod-wsgi-py3  
sudo apt-get install python3-pip apache2 libapache2-mod-wsgi-py3

文件结构

root@Ubuntu:/var/www$ tree -l 
.                               
└── flask                    
    ├── flask_script.py    
    └── flask_app.wsgi           

1 目录,2 文件。

创建一个Flask应用程序
文件名
flask_script.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

创建.wsgi文件

flask_app.wsgi

import os,sys
sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)))

from flask_script import app as application

Apache的配置

sudo vim /etc/apache2/sites-available/flask.conf

创建Flask的配置文件。

Flask 配置文件

<VirtualHost *:80>
    ServerName localhost
    WSGIDaemonProcess flask_app user=www-data group=www-data threads=5
    WSGIScriptAlias / /var/www/flask/flask_app.wsgi
    <Directory /var/www/flask>
        WSGIProcessGroup flask_app
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

请确保应用程序目录及其子目录的所有权者被更改为www-data。

sudo chown -R www-data:www-data /var/www/flask/

为了让Apache加载,创建一个符号链接。

sudo ln -s /etc/apache2/sites-available/flask.conf /etc/apache2/sites-enabled/flask.conf  

防止默认配置文件被加载

sudo rm /etc/apache2/sites-enabled/000-default.conf  

重新启动Apache。

sudo systemctl restart apache2
sudo systemctl status apache2

もし、再起動の時に

「httpd.conf」の文法チェック方法(apachectl)
apachectl configtest

「httpd.conf」の文法チェック方法(apache2ctl)
apache2ctl configtest

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using localhost Set the 'ServerName' directive globally to suppress this message

というエラーが発生したら、以下を打ち込んで、もう一度再起動する

sudo echo ServerName $HOSTNAME > /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn


sudo apachectl restart
エラーが出なかったら、
http://localhost
にアクセスしてみてHello World!

と表示されれば成功

使用Jinja2共同模板。

我們會試著使用Flask中內建的Jinja2模板引擎。首先,我們需要建立一個名為”templates”的資料夾。在這個資料夾中,我們會放置HTML檔案。

如果未安装,请执行以下命令安装:sudo pip3 install Jinja2


Jinja2的运行验证

从jinja2模块中导入Template函数。

模板 = Template(‘这个示例代码是为了{{ title }}而设计的。’)
结果 = 模板.render(title=’Jinja2的工作确认’)

打印(输出)结果。


若无法在MySQL8.0及以上版本中进行连接,请修改“身份验证插件”。

    用户认证方式的变更

将用户的认证方式更改为旧式的“mysql_native_password”。
使用mysql_native_password通过’密码’修改本机的’用户名’用户。

修改本地主机上‘hiro’用户的身份验证方式为mysql_native_password,并设置密码为‘hirotada’。

确认更改。

选择mysql.user中的用户、主机和插件。


将数据存储在SQLAlchemy中

使用pip3安装SQLAlchemy库,该库用于Python。


如何安装Flask Bootstrap

使用pip3命令安装Flask_Bootstrap。

使用方式

必需的库导入

使用Flask库导入所有内容。

为了使用render_template进行描述。

import Flask, render_template # 添加

使用flask_bootstrap进行以下追加操作

创建Flask对象以设置应用程序的配置

app = Flask(__name__)

#使用flask_bootstrap ※ 以下を追加
bootstrap = Bootstrap(app)

在哪个目录层级上运行函数进行设置

@app.route(‘/’)
# 函数名
def hello_world():
# 执行内容 输出 Hello, World!
return “Hello, World!”

中文:咒语

如果名字等于 “main”,则运行 app.run(debug=True, host=’0.0.0.0′, port=8888, threaded=True)。

※render_template
动态返回html文件。
展示html文件并将值作为参数传递给html文件。

主函数:
# 将字符串”Flask”赋值给变量name

#players配列に「111」「555」「777」3種類の文字列を代入
players = ["111","555","777"]

#index.htmlファイルのname_value変数にname変数の値を代入
#index.htmlファイルのplayers変数にplayersの値を代入
return render_template("index.html",name_value = name,players = players)

加载CSS和JS文件

在static目录中创建一个名为CSS的文件夹和一个名为js的文件夹。

┣ 静态/
┃ ┣ 样式/
┃ ┗ JavaScript/


完整版本文件夹架构

├── pycache
│ └── flask_script.cpython-38.pyc
├── flask_app.wsgi
├── flask_script.py
├── static
│ ├── css
│ │ └── index.css
│ ├── images
│ │ └── index.jpeg
│ └── js
│ └── script.js
└── templates
├── index.html
├── layout.html
└── bootstrap.html

├── 缓存文件夹
│ └── flask_script.cpython-38.pyc
├── flask_app.wsgi
├── flask_script.py
├── 静态文件夹
│ ├── css
│ │ └── index.css
│ ├── 图片文件夹
│ │ └── index.jpeg
│ └── js
│ └── script.js
└── 模板文件夹
├── index.html
├── layout.html
└── bootstrap.html


请提供参考网站。

使用Ubuntu的Apache,在Python3中使用Flask来创建Web应用程序。

https://blog.akashisn.info/entry/%3Fp%3D258

如何在Ubuntu 20.04服务器上安装Python 3并设置编程环境
https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-programming-environment-on-an-ubuntu-20-04-server-ja

概括一下在 Ubuntu 16.04 上运行 Flask 应用程序所需的步骤。

在Ubuntu环境中构建Apache WSGI flask的Web应用程序

Flask的简易用法
https://qiita.com/zaburo/items/5091041a5afb2a7dffc8

首次使用 Flask #1 ~使用 Flask 创建第一个 Web 应用~
https://qiita.com/nagataaaas/items/d249c3905d41137cd510

首次的Flask #2 〜 接收POST请求 〜
https://qiita.com/nagataaaas/items/3116352da186df102d96

首次尝试 Flask #3 〜让我们渲染 HTML〜
https://qiita.com/nagataaaas/items/4662237cfb7b92f0f839

首次尝试使用Flask #4 ~使用SQLAlchemy操作数据库~
https://qiita.com/nagataaaas/items/5c7c9ec4813fea85c40c

第一次的Flask#5 〜撰寫返回JSON的WebAPI〜
https://qiita.com/nagataaaas/items/24e68a9c736aec31948e

在CentOS 6.7上部署Django应用程序时出现了无效命令WSGIDaemonProcess。

广告
将在 10 秒后关闭
bannerAds