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 − To 启动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 and unzip it.
由于 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