• 安装Nginx+uWSGI+Django环境


    Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境

    今天要介绍的是利用APT源直接apt-get install安装配置我们所需要的环境,首先按惯例先安装MySQL和Nginx:

    linuxidc@ www.linuxidc.com :~$ sudo su -
    root@ www.linuxidc.com :~$ apt-get install mysql-server
    root@ www.linuxidc.com :~$ apt-get install nginx
    

    然后通过Debian Packages网站找到我们所需要的uWSGI在sid里,为了用sid里面的软件包,我们还需要修改我们的/etc/apt/sources.list源,添加deb http://ftp.tw.debian.org/debian sid main non-free contrib这一行,或者直接输入命令:

    root@ www.linuxidc.com :~$ echo "deb http://ftp.tw.debian.org/debian sid main non-free contrib" >> /etc/apt/sources.list
    

    配置过源列表后,我们就可以通过下面的命令安装了:

    root@ www.linuxidc.com :~$ apt-get update
    root@ www.linuxidc.com :~$ apt-get install uwsgi uwsgi-core uwsgi-plugin-python
    

    安装完成后,配置文件按惯例放在了/etc/uwsgi里面,服务控制可以通过invoke-rc.d uwsgi后面跟命令参数来实现,不过这里有个小插曲我不得不提一下,安装时可能会报这样的错误:

    The following packages have unmet dependencies:
    libc6-dev : Breaks: gcc-4.4 (< 4.4.6-4) but 4.4.5-8 is to be installed.
    E: Broken packages
    看样子是依赖包gcc版本不匹配,我后来通过下面的方式解决了:

    root@ www.linuxidc.com :~$ apt-get update
    root@ www.linuxidc.com :~$ apt-get upgrade # 先尝试升级系统软件包
    root@ www.linuxidc.com :~$ apt-get install libc6-dev
    

    接下来就是安装django以及Python的MySQL支持,继续APT命令:

    root@Notebook:~$ apt-get install python-django python-mysqldb
    

    查看下应用的python版本

    root@Notebook:/usr/lib$ python --version
    

    大家知道django是安装到python目录下的site-packages下的,但是这几个python目录下都没有site-packages这个文件夹,其实我们可以先通过下面的命令定位一下:

    root@Notebook:/usr/lib$ python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
    

    上面的命令会在控制台上打印Python包路径,比如这里我们可能获得dist-packages这个目录,切换到这个目录你就会发现django在那儿啦。给django-admin.py加上权限,再做个符号连接,便于我们以后操作(我这里Django在Python2.7下):

    root@Notebook:/usr/lib$ chmod 777 /usr/lib/python2.7/dist-packages/django/bin/django-admin.py
    

    好啦,到这里基本上安装部分就介绍完了,下面讲解配置部分,首先建立我们项目的文件夹,比如说放在/opt/www下,然后通过下面的命令创建名为mysite的Django项目:

    root@Notebook:~$ cd /opt/www
    root@Notebook:/opt/www$ django-admin.py startproject mysite
    

    好了,这下/opt/www目录下应该有个子文件夹名字叫mysite,我们需要丢个wsgi的配置文件到/opt/www/mysite/里面去,配置文件命名为wsgi.py,内容如下:

    # wsgi.py
    # /opt/www/mysite/wsgi.py
    import sys
    import os
     
    sys.path.append(os.path.abspath(os.path.dirname(__file__)))
    # 下面这行是mysite的父目录
    sys.path.append('/opt/www')
    # 下面这行的值请改成相应项目名称.settings
    # 我们这里是mysite.settings
    os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
     
    import django.core.handlers.wsgi
     
    application = django.core.handlers.wsgi.WSGIHandler()
    

    linux

  • 相关阅读:
    Java程序猿之从菜鸟到职场高手的必看
    每日一小练——高速Fibonacci数算法
    myeclipse 那个版本号好用?
    C++ Primer 学习笔记_61_重载操作符与转换 --自增/自减操作符
    海量数据存储
    架设FLASH视频流server心得
    java中接口的定义与实现
    Oracle误删恢复
    第四届蓝桥杯C++B组国(决)赛真题
    第三届蓝桥杯JavaC组国(决)赛真题
  • 原文地址:https://www.cnblogs.com/ITniu/p/5888769.html
Copyright © 2020-2023  润新知