apache的python部署

我的环境是server2003,apache2.2已经安装好了并已经运行。

首先下载软件:

python:http://www.python.org,给最新下载页面http://www.python.org/download/releases/2.5.2/

mod_python:http://apache.mirror.phpchina.com/httpd/modpython/win/3.3.1/(严重注意版本,python对版本要求很严格,请务必下载符合你需要的版本)

第一步:安装python,这步没有什么难度,一路下一步就可以了。

第二步:安装mod_python,我下载的文件是mod_python-3.3.1.win32-py2.5-Apache2.2.exe,一路下一步。注意最后一步选择apache安装目录,请选择apache2.2的目录,一定要选择到apache2.2,不然mod不能正确生成到modules,如果第一次没有正确请重新运行安装mod_python即可。

安装完成后出现以下信息,表示安装完成:

Important Note for Windows users, PLEASE READ!!!


             1. This script does not attempt to modify Apache configuration,

                 you must do it manually:


                 Edit D:/program files/Apache Software Foundation/Apache2.2confhttpd.conf,

                 find where other LoadModule lines are and add this:

                     LoadModule python_module modules/mod_python.so


             2. Now test your installation using the instructions at this link:

                 http://www.modpython.org/live/current/doc-html/inst-testing.html

3.第三步,配置apache服务器。修改httpd.conf文件

a)找到 LoadModule 位置加上下面一行

LoadModule python_module modules/mod_python.so
说明:在安装modpy_thon结束时会报告mod_python.so的位置和LoadModule目录的形式
c) 找到Alias别名定义(当然你可以使用根目录),加入如下行

Alias /python D:/program files/Apache Software Foundation/Apache2.2/htdocs/python
c) 找到目录定义加入如下行:

AllowOverride FileInfo
AddHandler mod_python .py
PythonHandler mptest
PythonDebug On

4.第四步:测试一下

在D:/program files/Apache Software Foundation/Apache2.2/htdocs/python下新建一个文件test.py

文件内容如下:

注意第三、第四行的缩进(不要问原因,python的语法就是这么变态)

Python代码
from mod_python import apache   
def handler(req):   
    req.write("Hello World!BlogGuy")   
    return apache.OK  
出来的结果为Hello World!BlogGuy!

配置完成。


 问题:

这样设置会导致每次的请求都会访问mptest.py文件,解决方法:

将mytest.py修改成如下内容:

import os;  
from mod_python import apache  
def handler(req):  
    handler = req.uri[1:];  
    if handler[-3:] == ".py" :  
        handler = handler[0:-3];  
    if not handler == "index" :  
        req.add_handler("PythonHandler", handler);  
    return apache.OK

ok!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
部署 Django 通常可以分为以下步骤: 1. 在服务器上安装 Python 和相关依赖库。 2. 安装 Web 服务器软件,如 Apache 或 Nginx。 3. 配置 Web 服务器,使其能够代理请求到 Django 应用程序。 4. 部署 Django 应用程序,包括配置数据库、静态文件、媒体文件等。 以下是一个简单的部署流程示例: 1. 在服务器上安装 Python 和相关依赖库。 ```shell sudo apt-get update sudo apt-get install python3 python3-pip python3-venv ``` 2. 安装 Web 服务器软件,如 Apache 或 Nginx。 ```shell sudo apt-get install apache2 ``` 3. 配置 Web 服务器,使其能够代理请求到 Django 应用程序。 对于 Apache,可以使用 mod_wsgi 模块。安装 mod_wsgi: ```shell sudo apt-get install libapache2-mod-wsgi-py3 ``` 然后在 Apache 的配置文件中添加以下内容: ```apache <VirtualHost *:80> ServerName example.com WSGIDaemonProcess mysite python-home=/path/to/venv WSGIProcessGroup mysite WSGIScriptAlias / /path/to/mysite/wsgi.py <Directory /path/to/mysite> Require all granted </Directory> Alias /static /path/to/static/files <Directory /path/to/static/files> Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ``` 其中,`example.com` 是你的域名或 IP 地址,`/path/to/venv` 是你的 Python 虚拟环境路径,`/path/to/mysite` 是你的 Django 项目路径,`/path/to/static/files` 是你的静态文件路径。 4. 部署 Django 应用程序,包括配置数据库、静态文件、媒体文件等。 在 Django 的配置文件中,设置 `DEBUG = False`,并配置数据库、静态文件、媒体文件等路径。然后使用 `collectstatic` 命令收集静态文件: ```shell python manage.py collectstatic ``` 最后重启 Web 服务器即可: ```shell sudo systemctl restart apache2 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值