fumingxia 发表于 2018-11-14 06:06:46

nginx+uwsgi来部署Django

  1. 软件下载地址:
  uwsgi
  wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz
  flup
  wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
  django
  wget https://www.djangoproject.com/m/releases/1.7/Django-1.7.1.tar.gz
  2. 安装
  uwsgi
  $ tar zxfuwsgi-1.9.6.tar.gz
  $ cd uwsgi-1.9.6
  uwsgi-1.9.6$ python3.2 uwsgiconfig.py --build
  安装完成后会在当前目录生成uwsgi 二进制文件,可手动把它复制到/usr/sbin,运行时就不用加绝对路径
  uwsgi-1.9.6$ sudo cp uwsgi /usr/sbin/uwsgi
  django
  $ tar zxf Django-1.5.1.tar.gz
  $ cd Django-1.5.1
  Django-1.5.1$ python3.2 setup.py install
  3. 新建django项目
  安装成功,新建django项目(最好不要在网站根目录htdocs下新建项目,不然别人会查看到你的源代码)
  $ cd /tmp/
  tmp$ sudo django-admin.py startproject onetwo
  此时会生成一个新的文件夹,其结构如下
onetwo/  
    manage.py
  
    onetwo/
  
      __init__.py
  
      settings.py
  
      urls.py
  
      wsgi.py
  测试实验环境服务
  $ sudo python3.2 manage.py runserver
Validating models...  

  
0 errors found
  
April 22, 2013 - 15:50:53
  
Django version 1.5, using settings 'mysite.settings'
  
Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
  lynx访问地址http://127.0.0.1:8000/,如出现“Welcome to Django”字样,则说明建项目成功。
  其它IP地址访问:python3.2 manage.py runserver 0.0.0.0:8000
  4. 关联django到nginx
  服务器已经在跑PHP站点,现在新生成一个虚拟服务器
  $ sudo vi /etc/nginx/nginx.conf
  加入以下内容
  # another virtual host using mix of IP-, name-, and port-based configuration
  #
  server {
  listen       8000;
  #server_name test.com;
  location / {
  include uwsgi_params;
  uwsgi_pass 127.0.0.1:9090;
  }
  }
  完成后重启下nginx服务
  $ sudo /etc/rc.d/nginx restart
  如安装了libxml2,也可用如下方法处理:
  在app目录创建个django.xml文件
  /tmp/onetwo$ sudo vi django.xml
  内容如下:
  
  :9090
  /tmp/onetwo
  django_wsgi
  4
  uwsgi.log
  manage
  ..
  DJANGO_SETTINGS_MODULE=onetwo.settings
  django.core.handlers.wsgi:WSGIHandler()
  
  启动方式:
  /tmp/onetwo$ uwsgi -x django.xml
  接下来就可以访问你的站点了,文中参考了行内朋友的博文,在此感谢。


页: [1]
查看完整版本: nginx+uwsgi来部署Django