Ubuntu中Apache,Django,wsgi环境搭建
来源:互联网 发布:重庆软件行业协会地址 编辑:程序博客网 时间:2024/05/21 20:24
1 环境安装
1.1 Django安装
sudo apt-get install python-pipsudo apt-get install –upgrade pipsudo pip install Django
检查Django是否安装成功以及版本号
pythonPython 2.7.12 (default, Jul 1 2016, 15:12:24)[GCC 5.4.0 20160609] on linux2Type "help","copyright", "credits" or "license" for moreinformation.>>> import django>>> django.VERSION(1, 7, 6, 'final', 0)>>>>>> django.get_version()'1.7.6'
1.2 Apache和wsgi安装
sudo apt-get install apache2# Python 2sudo apt-get install libapache2-mod-wsgi# Python 3sudo apt-get installlibapache2-mod-wsgi-py3
安装完后确认apache的版本号
apachectl –v
2 环境部署
2.1 Apache部分
Ubuntu中Apache的配置文件在/etc/apache2/下,需要新建一个网站配置文件,路径和文件名如下:
sudo touch /etc/apache2/sites-available/sitename.conf
打开sitename.conf,输入如下配置内容,相关的注释写在里面,实际运行时需要删掉注释。本例中,django的工程文件放到了/home//home/bagainu/pyproject/untitled/下,/home/bagainu/pyproject/untitled/blog是django的一个application,/home/bagainu/pyproject/untitled/untitled中保存的是该django工程的相关配置,包括setting.py和wsgi.py等。
#端口号,如果更改端口号后面也要更新/etc/apache2/ports.conf中的监听端口号<VirtualHost *:8000> ServerName localhost ServerAlias bagainu.com ServerAdmin bagainu@localhost # 以上部分随便填写,当前没什么关系,具体作用参考注(3) #配置media和static文件的访问路径,其中media是用户上传的资源,static是网站的静态文件包括js,css和图片等,注意路径不要写错 Alias /media/ /home/bagainu/pyproject/untitled/blog/media/ Alias /static/ /home/bagainu/pyproject/untitled/blog/static/ <Directory /home/bagainu/pyproject/untitled/blog/media/> Require all granted </Directory> <Directory /home/bagainu/pyproject/untitled/blog/static/> Require all granted </Directory> #配置Django中的wsgi.py文件路径,使apache和django连接,注意路径不要写错 WSGIScriptAlias / /home/bagainu/pyproject/untitled/untitled/wsgi.py <Directory /home/bagainu/pyproject/untitled/untitled/> <Files wsgi.py> Requireall granted </Files></Directory> #日志的位置,如果不配置在/var/log/apache2/error.log也能找到 ErrorLog ${APACHE_LOG_DIR}/error.log </VirtualHost>
注:
1)如果你的apache版本号是 2.2.x,用下面的代替 Requireall granted
Order deny,allow
Allow from all
如果实在不知道用哪种,可以打开/etc/apache2/apache2.conf,与里面的写法保持一致就行。如果写错,访问时会出现403 Forbidden。
2)如果上面的配置文件中更改了端口号,需要在etc/apache2/ports.conf中增加监听端口,在Listen80后面增加Listen 8000。
3)Apache配置文件中的相关内容可以查阅 点击打开链接
2.2 Django部分
在本例中,Django中需要配置的文件有两个,位置在
/home/bagainu/pyproject/untitled/untitled/wsgi.py
/home/bagainu/pyproject/untitled/untitled/settings.py
wsgi.py的作用是把Apache和Django连接起来,打开wsgi.py,输入以下内容
import osfrom os.path import join, dirname, abspath PROJECT_DIR = dirname(dirname(abspath(__file__))) #3import sys #4sys.path.insert(0, PROJECT_DIR) #5 os.environ["DJANGO_SETTINGS_MODULE"]= "untitled.settings" #7 from django.core.wsgi importget_wsgi_applicationapplication = get_wsgi_application()
第3,4,5行为新加的内容,作用是让脚本找到django项目的位置,也可以在sitename.conf中做,用WSGIPythonPath,想了解的自行搜索, 第7行如果一台服务器有多个django project时一定要修改成上面那样,否则访问的时候会发生网站互相串的情况,即访问A网站到了B网站,一会儿正常,一会儿又不正常(当然也可以使用 mod_wsgi daemon 模式)
对/media和/static目录的配置在setting.py文件中,打开setting.py,加入以下内容:
# Static files (CSS, JavaScript, Images)STATIC_URL = '/static/'STATIC_ROOT =os.path.join(BASE_DIR,'static') # upload folderMEDIA_URL = '/media/'MEDIA_ROOT = os.path.join(BASE_DIR,'media')
然后输入以下指令配置Django静态文件
cd /home/bagainu/pyproject/untitledpython manage.py collectstatic
最后需要配置Django工程的文件权限,如果图个简单,可以直接
sudo chmod 777 –R /home/baginu/pyproject/untitled
这样配置非常不安全(还用说么···),具体的权限配置可以参考其他的资料,这里就图快了。
3 启动服务
sudo service apache2 restart 或 sudoapachectl restartsudo a2ensite sitename 或 sudoa2ensite sitename.conf
此时访问127.0.0.1:8000或者127.0.0.1:8000/admin应该会有相应。如果用的是虚拟机,可以直接访问虚拟机的ip:8000
- Ubuntu中Apache,Django,wsgi环境搭建
- Django + Apache + wsgi配置和环境搭建(ubuntu)
- Ubuntu 16.04中 Django + apache + wsgi 配置
- CentOS下Apache+Python+Django+Wsgi环境搭建
- Linux环境Apache+Django+wsgi配置
- 配置django运行环境(apache+wsgi)
- mac+apache+django+wsgi
- 部署django+apache wsgi
- 在Windows上搭建Django+python+apache+wsgi
- Ubuntu 服务器上Apache + WSGI 部署Django项目
- ubuntu Django环境 搭建
- ubuntu 下 搭建 python+apache+django+mysql web开发环境
- ubuntu搭建apache+python+django+mysql web开发环境
- 使用WSGI在Apache服务器中部署Django项目实例
- 小白装django+apache+wsgi+mysql
- Mac Apache Django WSGI 部署
- Django+apache+python+mod_python的环境搭建
- Django+apache+python+mod_python的环境搭建
- MD5 加密算法介绍以及使用
- 海思图像质量校正方法(LCS标定:中间亮,周围暗现象)
- linux虚拟机环境下配置dnw下载程序到TQ2440
- 新浪微博开发知识重点整理
- PHP客户端与C#服务器端 Socket通信
- Ubuntu中Apache,Django,wsgi环境搭建
- hdu 1520 简单树形dp
- Oracle 分组统计,并显示百分比的实现
- viewport/流式布局
- HDU 1303 Doubles
- 小时倒计时代码
- 【javase复习】## day 9正则表达式 ##
- SBI确认70万的Jan Dhan帐户以推动贷款
- 利用Jpgraph创建3D饼形图