服务器配置是Ubuntu14.04 64位OS

ubuntu14.04默认是安装好了python2.7版本不用自己安装了。

先更新下源

sudo apt-get update

第一步先安装pip

sudo apt-get install -y python-pip

有些时候安装pip前需要安装几个相关包

sudo apt-get install -y python-dev

sudo apt-get install -y libevent-dev

安装完pip后我们开始安装django

sudo pip install Django==1.7.1

安装后输入Python进入交互环境输入django.VERSION查看版本

开始装uwsgi

下面这几个可能是相关包

sudo apt-get install -y build-essential

sudo apt-get install -y zliblg-dev

sudo apt-get install -y libsqlite3-dev

sudo apt-get install -y libreadline6-dev

sudo apt-get install -y libgdbm-dev

sudo apt-get install -y libbz2-dev

sudo apt-get install -y tk-dev

sudo apt-get install -y uwsgi-plugin-python

安装uwsgi

sudo pip install uwsgi

可以写个test.py

# test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"] # python3
#return ["Hello World"] # python2

输入uwsgi --http :8000 --wsgi-file test.py

浏览器输入http://example.com:8000看是否显示helloworld

再安装git

sudo apt-get install -y git

克隆项目

用uwsgi启动项目

uwsgi --ini ${current_path}${sep}/$uwsgi_name

安装nginx

sudo apt-get install -y nginx

修改nginx配置文件,删掉原先包里的东西,加上软链接

ln -s ${current_path}${sep}${p_name}${sep}${conf_name} /etc/nginx/sites-enabled/

(

sudo ln -s /data/www/ts/conf/ts_nginx.conf /etc/nginx/sites-enabled/
sudo ln -s /data/www/ts/conf/ts_nginx.conf /etc/nginx/sites-available/

)

service nginx restart

输入网址就可以了。

另外你需要

python manage.py collectstatic

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATIC_ROOT = os.path.join(BASE_DIR, 'static2', ).replace('\\', '/')
STATIC_URL = '/static/'
然后将静态文件从static2移动到static目录下

输入网址就可以了。

几个配置文件:

nginx.conf:

# the upstream component nginx needs to connect to
upstream django {
server unix:/etc/nginx/django/daowang/Wangdao.sock; # for a file socket
} # configuration of the server
server {
# the port your site will be served on
listen 80;
# the domain name it will serve for
server_name http://114.215.157.15/; # substitute your machine's IP address or FQDN
charset utf-8; # max upload size
client_max_body_size 75M; # adjust to taste # Django media
location /media {
alias /etc/nginx/django/daowang/static/media; # your Django project's media files - amend as required
} location /static {
alias /etc/nginx/django/daowang/static; # your Django project's static files - amend as required
} location /FingerHire{
proxy_pass http://127.0.0.1:8080;
} # Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include /etc/nginx/django/daowang/uwsgi_params; # the uwsgi_params file you installed
}
}

uwsgi.ini

[uwsgi]

# Django-related settings
# the base directory (full path)
chdir = /etc/nginx/django/daowang
# Django's wsgi file
module = Wangdao.wsgi
# master
master = true
# maximum number of worker processes
processes = 32
max-requests = 1000
# the socket (use the full path to be safe
socket = /etc/nginx/django/daowang/Wangdao.sock
# ... with appropriate permissions - may be needed
chmod-socket = 666
#chown-socket = www-data:www-data
# clear environment on exit
vacuum = true
daemonize = /var/log/uwsgi/Wangdao.log
pidfile = /tmp/project-master.pid
# added 2014-09-17
reload-on-as = 126
reload-on-rss = 126
enable-threads = true
pythonpath = /etc/nginx/django/daowang

uwsgi_params

uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length; uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param HTTPS $https if_not_empty; uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;

配置下根目录下的wsgi.py

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Wangdao.settings") from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

常用命令:

1.查看端口占用情况:

netstat -lpnt

2.杀死所有uwsgi进程

killall -9 uwsgi

3.uwsgi启动命令

uwsgi --ini /etc/nginx/django/lovep2c/lovep2c_uwsgi.ini

4.关闭uwsgi命令

uwsgi --stop /tmp/project-master.pid

5.重启uwsgi命令

uwsgi --reload /tmp/project-master.pid

nginx错误日志:

tail /var/log/nginx/error.log

uwsgi日志:

tail /var/log/uwsgi/lovep2c.log

项目错误日志:

tail /etc/nginx/django/debug.log

tail /etc/nginx/django/error.log

参考网址:https://uwsgi.readthedocs.org/en/latest/tutorials/Django_and_nginx.html

												

ubuntu下配置nginx+uwsgi+django的更多相关文章

  1. virtualenv下配置nginx uwsgi Django

    1.安装virtualenv,创建虚拟环境django15 sudo apt-get install virtualenv virtualenv env source bin/active pip i ...

  2. Ubuntu下配置Nginx HTTPS

    HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入S ...

  3. Ubuntu下使用Nginx+uWSGI+Flask(初体验)

    Ubuntu 18.04,Nginx 1.14.0, uWSGI 2.0.17.1,Flask, 前言 Windows不支持uWSGI!为了上线自己的项目,只能选择Linux. 自己前面开发了一个Fl ...

  4. flask部署:Ubuntu下使用nginx+uwsgi+supervisor部署flask应用

    之前一直用的Centos或者Red hat,自从使用Ubuntu后,发现Ubuntu使用起来更方便,自此爱上Ubuntu. 一.从github上下载flask应用 1.我已经成功将自己编写好的应用上传 ...

  5. Ubuntu下配置Nginx+PHP

    1.安装Nginxapt-get install nginx 2.启动Nginxservice nginx start 3.访问服务器IP 如果看到“Welcome to nginx!”说明安装好了. ...

  6. 阿里云云服务器ubuntu配置nginx+uwsgi+django记录文档

    1 安装ssh 1  sudo apt-get update 2  sudo apt-get install openssh-server 3  sudo ps -e |grep ssh  有sshd ...

  7. ubuntu下配置Apache+mod_wsgi+Django项目(个人测试)

    经过了一个星期的摸索,查找资料以及实验,我搭建的环境基本能用(还有就是Django后台的静态文件加载的问题) 这里面只是介绍一下我的过程,因为对应Apache还不是很熟练,特别是配置文件.只能供大家参 ...

  8. 阿里云上,Ubuntu下配置Nginx,在tomcat中加了https协议就不可以了

    问题 阿里云上,Ubuntu服务器,本来部署的是tomcat,并且使用了https 协议.后来为了静态资源分离集成了 nginx,nginx代理跳转到 tomcat.刚开始直接访问http 网址发现, ...

  9. Ubuntu Nginx uwsgi django 初试

    /************************************************************************************** * Ubuntu Ngi ...

随机推荐

  1. JavaScript基础(简介、语法)

    一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...

  2. Linux Mysql Client 查询中文乱码

    1.mysql client 端设置编码为utf8 set character_set_results=utf8; 2.连接linux的客户端的编码也要设置为utf8(比如xshell,putty等)

  3. java代理课程测试 spring AOP代理简单测试

    jjava加强课程测试代码 反射. 代理 .泛型.beanUtils等 项目源码下载:http://download.csdn.net/detail/liangrui1988/6568169 热身运动 ...

  4. 详解H3C交换机“端口安全”功能

    以下内容摘自正在全面热销的最新网络设备图书“豪华四件套”之一——<H3C交换机配置与管理完全手册>(第二版)(其余三本分别是:<Cisco交换机配置与管理完全手册>(第二版). ...

  5. relative、absolute和float

    relative.absolute和float   position:relative和position:absolute都可以改变元素在文档中的位置,都能激活元素的left.top.right.bo ...

  6. 模拟JQUERY的延迟方法绑定

    模拟JQUERY的延迟方法绑定, 对于延迟方法绑定,各种语言都有不同的描述 什么回调啊,函数指针啊,委托啊,事件啊等,其实也就是那么大回事,不过用好这些特性,对于扩展和架构是非常有好处的, 好处自然就 ...

  7. monkeyrunner环境搭建

    对android世界小白白的人儿,弄个monkeyrunner环境吭哧哧的费了大半天的劲,没办法,因为实在是对这方面一窍不通,名词都是一个个百度才略懂一二,既然这么辛苦费劲的才能弄好,怎么也得记录下来 ...

  8. jmeter 通过ant集成到jenkins

    jmeter可以通过ant自动执行测试脚本,然后集成到jenkins上,并发送测试报告 1.下载安装ant 2.将jmeter安装包extras文件夹里ant-jemter-1.1.1.jar 复制到 ...

  9. 8,SSO,,eager copy,COW

    针对字符串不同的长度,“编译器”选择不同的优化策略:SSO, eager copy,COW,分别针对短字符串,中等长度字符串,长字符串.不过,现在(2016)的大多数编译器(gcc 4.9.1,vs2 ...

  10. LintCode-删除元素

    题目描述: 给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度. 元素的顺序可以改变,并且对新的数组不会有影响. 样例 给出一个数组 [0,4,4,0,0,2,4,4],和值 4 返回 ...