在Amazon EC2上安装apache+MOD_WSGI来部署django

    最近,我在amazon ec2上部署自己开发的python django应用,使用了apache + MOD_WSGI的方法,现记录如下。

 

1. 登录amazon ec2后,它默认是没有安装apache以及wsgi_mod的,不过安装也超简单,用yum即可。

yum install httpd
yum install mod_wsgi
 

2. 配置httpd

打开 /ect/httpd/conf/http.conf,在LoadModule里加上:

LoadModule wsgi_module modules/mod_wsgi.so

 

接下来,需要加上以下配置来告诉WSGI你的python path:

WSGIDaemonProcess your_project_name python-path=your_path_lib_path
WSGIProcessGroup your_project_name
 

 

还要加上你的webapp入口:

WSGIScriptAlias / your_project_path/wsgi.py
<Directory /path/to/project>
    Order deny,allow
    Allow form all
</Directory>

 

注意,这里的wsgi.py,具体可以参考django的文档:https://docs.djangoproject.com/en/1.3/howto/deployment/modwsgi/

 

还得注意,ec2上的用户名为ec2-user,得用这个用户名来使用apache

User ec2-user
 

最后,加上一句:

WSGISocketPrefix run/wsgi

 

使用静态文件,可以加上:

<VirtualHost *:80>
    Alias /site_media/ Your_project_path/site_media/
</VirtualHost>

 

你可以直接在你的模板文件里通过/site_media/...来使用静态文件,当然,你的项目文件夹里要有site_media。

 

不过,别忘记使用python manage.py collectstatic来收集你的静态文件到site_media目录中。如何配置静态文件,详见django文 档:https://docs.djangoproject.com/en/1.3/ref/contrib/staticfiles/

 

现在就可以了。

 

你可能感兴趣的:(python,django)