部署python web 的几种方式

1,纯mod_python

  安装mod-python : $ apt-get install libapache2-mod-python

我们在/etc/apache2/mods-available/目录下面新建一个python.conf来配置和python相关的应用的信息

<Directory /var/www> 

   AlllowOverride none
        AddHandler mod_python .py 
        PythonHandler mptest 
        PythonDebug On 
        AddType text/html;qs=1.0 .py 
        AddType text/html;qs=0.9 .html 
        AddType text/html;qs=0.8 .txt 
</Directory>

最后的3行比较重要,像我这里用firefox浏览的时候,不能解析文档,而变成直接下载文件了。

同时,使用在conf文件里添加:

  Alias  / /var/www/

详见mod_python 中文文档 http://wiki.woodpecker.org.cn/moin/modpythoncn#A4.5_apache-----.2Bi7.2BV7g-apache.2BdoRRhZDo-

2.django +wsgi 

  https://library.linode.com/frameworks/django-apache-mod-wsgi/ubuntu-10.04-lucid

  本来觉得部署会很简单 只需要输入几个命令就好了~结果纠结了很久,现在就写出老吧

  首先 python 已经安装好了 所以第一步安装easy_install ,

  然后用easy_install 安装django (注意 如果用非root用户安装,django会安装在当前用户的.local目录下,这样apache 会访问不到他....)

  所以这时,也可以用ubantu的apt-get 来安装。这时会存放在python安装目录下。/usr/lib/python....

  再然后就是直接apt-get 安装wsgi,

  配置时,django 项目中的.wsgi文件注意要添加 项目目录与django目录。

  wsgi文件:

    import os
    import sys
    sys.path.append('/home/xiaopai/WORK/mysite/hello_django1/')
    sys.path.append('/home/xiaopai/.local/lib/python2.7/site-packages/Django-1.5.2-py2.7.egg/')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'hello_django.settings'
    import django.core.handlers.wsgi
    application = django.core.handlers.wsgi.WSGIHandler()

  apache 配置文件

<VirtualHost *:80>
	ServerAdmin webmaster@localhost

	DocumentRoot /home/xiaopai/WORK/mysite/www
	
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /home/xiaopai/WORK/mysite/www>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>


	WSGIScriptAlias / /home/xiaopai/WORK/mysite/hello_django1/apache/django.wsgi
	<Directory /home/xiaopai/WORK/mysite/hello_django1>
		Order allow,deny
		allow from all
	</Directory>
	ErrorLog /home/xiaopai/WORK/mysite/hello_django1/apache/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /home/xiaopai/WORK/mysite/hello_django1/apache/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

  这样就搞定了~~说起来简单,但是一个bug就浪费好多时间啊.....

    

 

转载于:https://www.cnblogs.com/xiaopai501/p/3303086.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值