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 将重定向到具有以下提到的 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 模型并生成相应的代码。下面给出了一些屏幕截图 -
SQLDesigner 有助于以简单的方式维护表的关系,并在给定应用程序的模型中生成相应的代码。
功能测试
功能测试涉及组件或整个系统的功能测试。它可以基于需求和业务流程。
web2py 附带一个模块gluon.contrib.webclient,它在远程和本地 web2py 应用程序中执行功能测试。它基本上是为了理解 web2py 会话和回发而设计的。
它所需要的只是导入包,以便在给定模块上实现功能测试。
导入包的语法如下 -
from gluon.contrib.webclient import WebClient