wheat 发表于 2018-11-8 08:11:13

nginx + uwsgi 部署

  参考:http://www.cnblogs.com/txwsqk/archive/2011/03/15/1984792.html  安装nginx(版本1.0.2):
  1、安装依赖包:
  sudo apt-cache search pcre (apt的模糊匹配软件包的命令)
  sudo apt-get install libssl-dev gcc libpcre3-dev zlib1g-dev libperl-dev g++
  2、将下载nginx的源码包:wget http://nginx.org/download/nginx-1.0.2.tar.gz
  解压 然后进入目录下: ./configure --prefix=/usr/local/nginx/
  默认nginx安装的目录在/usr/local/nginx下,包括:
  /usr/local/nginx/sbin #控制nginx启动文件
  /usr/local/nginx/conf #配置文件
  /usr/local/nginx/html #默认网页文件
  /usr/local/nginx/logs #日志文件
  3、安装完成后,可以试用一下:
  /usr/local/sbin/nginx    (启动)
  /usr/local/sbin/nginx -s stop (停止)
  (也可以杀死nginx的进程id : kill `cat /usr/local/nginx/logs/nginx.pid`)

  /usr/local/sbin/nginx -s>  4、我在/etc/init.d/ 目录下,新建了一个nginx脚本,可以利用 /etc/init.d/nginx (start|stop|restart) 来启动和关闭。
  5、接下来就可以设置nginx的开机自启动了:
  update-rc.d nginx defaults
  chkconfig --level 2345 nginx on
  6、关于nginx的配置文件暂时先默认不改,待安装完uwsgi后需要作变动。
  安装django和flup:
  wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
  view sourceprint?
  wget http://media.djangoproject.com/releases/1.2/Django-1.2.5.tar.gz
  flup和django   都是用 python setup.py install
  关于flup:WSGI 还只是一种规范,一种标准,它要完成的作用是用来定义 Python 应用程序要如何于 apache/lighttpd/nginx 等之类的 WEB 服务器之间如何进行通信和交换信息,它不是实际 可以直接拿来用的东西。而 flup 就是使用 Python 语言对 WSGI 的一种实现,是可以用 于 Python 的应用开发中的一种工具或者说是一种库。
  更多详细介绍: http://www.morningprincess.com/Python-WSGI-fastcgi/
  安装 uwsgi (版本 0.9.6.2):
  1、add-apt-repository ppa:stevecrozz/ppa
  apt-get update
  apt-get install uwsgi
  2、安装完以后可以直接使用uwsgi命令。
  配置nginx和uwsgi:
  1、首先确认在/usr/local/nginx/conf/ 目录下是否存在 uwsgi_params文件,如果没有,建议安装更高版本的nginx
  2、备份/usr/local/nginx/conf/nginx.conf文件。并修改该文件:
  userroot root;
  worker_processes1;
  events {
  worker_connections1024;}
  http {
  include       mime.types;
  default_typeapplication/octet-stream;
  sendfile      on;
  keepalive_timeout65;
  server {
  listen       80;
  server_namelocalhost;
  location / {
  include uwsgi_params;
  uwsgi_pass 127.0.0.1:9090;
  }
  error_page   500 502 503 504/50x.html;
  location = /50x.html {
  root   html;
  }
  }
  }
  3、建立项目:
  cd /root
  django-admin.py startproject mypro
  4、在/root/my_django/目录下 :vim uwsgi.xml
  
  0.0.0.0:9090
  20
  true
  /usr/local/nginx/uwsgi.pid
  8
/var/log/uwsgi.log  wsgi.py#这个文件当前目录下建立
  /root/mypro   #刚才建立项目的路径
  true
  true
  true
  true
  6048
  
  5、在/root/my_django/目录下 :vim wsgi.py
  import django.core.handlers.wsgi
  import os
  import sys
  sys.path.append(os.path.dirname(__file__))
  os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
  adminmedia= os.path.join(os.path.dirname(__file__),'admin_media')
  application = django.core.handlers.wsgi.WSGIHandler()
  6、启动nginx : /etc/init.d/nginx start
  后台启动 uwsgi -x /root/my_django/uwsgi.xml&
  7、测试:直接在浏览器中输入服务器的ip地址。
  完毕!
  符:xml文件加日志的文档:
  
  0.0.0.0:9090
  20
  true
  /usr/local/nginx/uwsgi.pid
  8
  wsgi.py
  /var/log/uwsgi.log//如果不加这条,程序将在前台运行,而且只要关闭前台终端,程序就终止。
  /root/mypro/
  true
  true
  true
  true
  6048
  

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