搭建Apache+mod_wsgi+python+flask+virtualenv网站正式环境

本例环境:
操作系统:CentOS6.5
1,安装这些环境
yum install httpd mod_wsgi python 
2,配置apache的conf
在/etc/httpd/conf.d目录下,新建一个conf文件,名称自拟,内容为:
Listen 5000
    ServerName localhost
    WSGIScriptAlias / "/root/blog_island/blog_island.wsgi"
    
        Order deny,allow
        Allow from all
    
3,按照wsgi的目录(一般该文件放到代码根目录下),创建wsgi文件,内容为:
import sys
import os


sys.path.append('/root/blog_island')     #添加代码根目录到系统路径
sys.path.append('/root/blog_island/venv/lib/python2.6/site-packages')  #添加virtualenv的模块目录到系统路径


environ = {
    'HISTTIMEFORMAT': '%Y-%m-%d %H:%M:%S ', 
    'LESSOPEN': '|/usr/bin/lesspipe.sh %s',
    'CVS_RSH': 'ssh', 
    'LOGNAME': 'apache', 
    'USER': 'apache', 
    'QTDIR': '/usr/lib64/qt-3.3', 
    'PATH': '/usr/local/erlang/bin:/usr/local/mysql/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/python34/bin:/root/bin:/usr/local/bin', 
    'MAIL_USERNAME': 'XXX @163.com', 
    'LANG': 'en_US.UTF-8', 
    'QTLIB': '/usr/lib64/qt-3.3/lib', 
    'TERM': 'xterm', 
    'SHELL': '/bin/bash', 
    'QTINC': '/usr/lib64/qt-3.3/include', 
    'G_BROKEN_FILENAMES': '1', 
    'HISTSIZE': '1000', 
    'FLASKY_ADMIN': 'XXX @163.com', 
    'JAVA_HOME': '/usr/java/java', 
    'HOME': '/root/blog_island', 
    'HISTFILESIZE': '100000', 
    'BLOG_ISLAND_MAIL_SENDER': 'Blog Island Admin ', 
    'SHLVL': '1', 
    'CLASSPATH': '.:/usr/java/java/lib:/usr/java/java/jre/lib', 
    'JRE_HOME': '/usr/java/java/jre', 
    '_': '/usr/bin/python', 
    'GREP_OPTIONS': '--color=auto', 
    'MAIL_PASSWORD': 'XXX', 
    'HOSTNAME': '10-9-21-98', 
    'BLOG_ISLAND_MAIL_PASSWORD': 'XXX', 
    'HISTCONTROL': 'ignoredups', 
    'BLOG_ISLAND_MAIL_USERNAME': 'XXX @163.com', 
    'PWD': '/root/blog_island', 
}        #系统运行环境
for key in environ:
    os.environ[key] = environ[key]   #导入系统运行环境,实际环境,可以根据os.environ的数据来参考


from manage import app as application
4,授予代码根目录任何人可访问的权限
chmod o+r /root/blog_island
注意,这里/root目录是家目录,其他人无法访问,所以可以更换到公共目录或者开放该家目录的访问权限
5,重启apache,完成配置
service httpd restart

你可能感兴趣的:(Flask,Web开发笔记,Flask,web开发,python,部署)