Web2py - 部署


Ubuntu(Linux)中安装web2py

在 Ubuntu 桌面上安装 web2py 的步骤如下。

第 1 步- 下载 web2py

cd /home
mkdir www-dev

cd www-dev
wget http://www.web2py.com/examples/static/web2py_src.zip

步骤 2 - 下载完成后,解压缩。

unzip -x web2py_src.zip

步骤 3 - 如果您需要访问 GUI,可以选择安装 Python 的 tk 库。

sudo apt-get install python-tk

步骤 4 - 要启动 web2py,请访问 web2py 目录并运行 web2py。

cd web2py
python web2py.py

GUI 将显示如下 -

Web2py服务器

安装后,每次运行时,web2py 都会要求您选择密码。该密码是您的管理密码。如果密码留空,管理界面将被禁用。

服务器启动后,web2py 将重定向到具有以下提到的 URL 的屏幕 - http://127.0.0.1:8000/

由此可以得出结论,web2py 在 Ubuntu 桌面上完美运行。

Ubuntu 中的生产部署

步骤 1 - 安装运行 web2py 所需的所有模块。

安装postgreSQL

sudo apt-get install postgresql

解压并打开ssh-server

sudo apt-get install unzip
sudo apt-get install openssh-server

安装 Apache 2 和 mod-wsgi

sudo apt-get install apache2
sudo apt-get install libapache2-mod-wsgi

步骤 2 - 在 /home/www-data 中安装 web2py

这有助于在生产环境中正确部署。

sudo apt-get install unzip
sudo apt-get install openssh-server
cd /home
sudo mkdir www-data
cd www-data

从 web2py 站点获取 web2py 源 -

sudo wget http://web2py.com/examples/static/web2py_src.zip
sudo unzip web2py_src.zip
sudo chown -R www-data:www-data web2py

步骤 3 - 创建自签名证书。SSL 证书应从受信任的证书颁发机构获取。维护一个包含证书的 SSL 文件夹。

步骤 4 - 根据生产环境的要求编辑 apache 配置。

步骤 5 - 重新启动 Apache 服务器并验证生产环境是否适用于给定的 IP 地址。

在 Windows 上安装 web2py

尽管有适用于 Windows 环境的二进制发行版(打包可执行文件和标准库),但 web2py 是开源的,并且可以与普通的 Python 安装一起使用。

此方法允许使用最新版本的 web2py,并自定义要使用的 python 模块。

步骤 1 - 从 web2py 官方网站 - http://www.web2py.com/examples/static/web2py_src.zip下载源码包并解压。

由于web2py不需要安装,用户可以将其解压到任意文件夹中。

步骤 2 - 要启动它,请双击web2py.py。从控制台 -

cd c:\web2py
c:\python27\python.exe web2py.py

步骤 3 - 可以在此处添加命令行参数(-a 设置管理员密码,-p 指定备用端口)。启动选项可以通过 -

C:\web2py>c:\python27\python.exe web2py.py --help

笔记

  • web2py 是用 Python 编写的,Python 是一种可移植的、解释性的动态语言,不需要编译或复杂的安装即可运行。

  • 它使用虚拟机(例如 Java 和 .Net),并且可以在运行脚本时透明地动态字节编译源代码。

web2py 中用于数据库和测试的功能

这是一个名为 SQLDesigner 的软件,它可以帮助制作 web2py 模型并生成相应的代码。下面给出了一些屏幕截图 -

SQL设计器

SQLDesigner 有助于以简单的方式维护表的关系,并在给定应用程序的模型中生成相应的代码。

SQL 设计器表

功能测试

功能测试涉及组件或整个系统的功能测试。它可以基于需求和业务流程。

web2py 附带一个模块gluon.contrib.webclient,它在远程和本地 web2py 应用程序中执行功能测试。它基本上是为了理解 web2py 会话和回发而设计的。

它所需要的只是导入包,以便在给定模块上实现功能测试。

导入包的语法如下 -

from gluon.contrib.webclient import WebClient