django服务器配置
服务器配置是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:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# the upstream component nginx needs to connect toupstream django { server unix:/etc/nginx/django/daowang/Wangdao.sock; # for a file socket}# configuration of the serverserver { # 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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[uwsgi]# Django-related settings# the base directory (full path)chdir = /etc/nginx/django/daowang# Django's wsgi filemodule = Wangdao.wsgi# mastermaster = true# maximum number of worker processesprocesses = 32max-requests = 1000# the socket (use the full path to be safesocket = /etc/nginx/django/daowang/Wangdao.sock# ... with appropriate permissions - may be neededchmod-socket = 666#chown-socket = www-data:www-data# clear environment on exitvacuum = truedaemonize = /var/log/uwsgi/Wangdao.logpidfile = /tmp/project-master.pid# added 2014-09-17reload-on-as = 126reload-on-rss = 126enable-threads = truepythonpath = /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
django服务器配置的更多相关文章
- Window下python2.7+Apache+mod_wsgi+Django服务器配置
前言:试着使用python搭建一个网页,分别在windows下和linux下,本篇文章主要讲解Window下python+Apache+mod_wsgi+Django服务器配置过程中遇见的问题和解决方 ...
- django 解决cors问题
首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 VIP 活动 招聘 ITeye CSTO 写博客 发Chat 登录注册 AFei0018-博客 穷则思变,差则思勤.Pyth ...
- django搭建一个小型的服务器运维网站-查看和修改服务器配置与数据库的路由
目录 项目介绍和源码: 拿来即用的bootstrap模板: 服务器SSH服务配置与python中paramiko的使用: 用户登陆与session; 最简单的实践之修改服务器时间: 查看和修改服务器配 ...
- centos 安装教程 服务器配置教程 服务器中安装python 服务器中安装Django 安装MySQL 配置MySQL
一 .解决python编译安装所需的软件依赖 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel opens ...
- Django部署--uwsgi配置--nginx服务器配置
uwsgi.ini文件 [uwsgi] #使用nginx连接时使用,Django程序所在服务器地址 socket=127.0.0.1:8000 #直接做web服务器使用,Django程序所在服务器地址 ...
- centos7 apache httpd安装和配置django项目
一.安装httpd服务 apache在centos7中是Apache HTTP server.如下对httpd的解释就是Apache HTTP Server.所以想安装apache其实是要安装http ...
- Django + Apache + 树莓派 搭建内网微信公众号服务器
其实早在微信开放公众号开发平台时就想弄一个自己的公众号服务器,奈何对web服务器搭建和开发一窍不通,只是注册了一下开发者帐号,并没有采取行动,万恶的拖延症. 前一年,开始接触python,打开了神奇世 ...
- django view
当请求一个页面时,Django 创建一个包含有关请求数据的 HttpRequest 对象,并将它作为第一个参数传给视图函数,每个视图函数处理完相应逻辑后返回一个 HttpResponse 对象,Htt ...
- django的views里面的request对象详解大全
简介 HTTP 应用的信息是通过 请求报文 和 响应报文 传递的,关于更多的相关知识,可以阅读<HTTP权威指南>获得. 其中 请求报文 由客户端发送,其中包含和许多的信息,而 djang ...
随机推荐
- html5 drag
这里是学习html5的拖放功能.这个API主流浏览器基本支持.ie浏览器是有限支持,dataTransfer.setData/getData. 在html5里面,任何元素都是可以拖放的. 需要拖放的元 ...
- LINUX安全加固规范
1 概述 近几年来Internet变得更加不安全了.网络的通信量日益加大,越来越多的重要交易正在通过网络完成,与此同时数据被损坏.截取和修改的风险也在增加. 只要有值得偷窃的东西就会有想办法窃取它的人 ...
- AIDMA VS AISAS vs ISMAS 营销法则
AIDMA法则与传统媒体时代 引起注意——产生兴趣——培养欲望——形成记忆——购买行动 注:AIDMA,传统消费者行为学理论模型,即:Attention(引起注意),Interest (引起兴趣),D ...
- 自建数据源(RSO2),并支持增量
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- hdu 4920 Matrix multiplication bitset优化常数
Matrix multiplication Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/ ...
- 如何监控checkbox改变
现在想实现一个效果,即使弹幕开关,弹幕开关实际是checkbox $(document).on('change',"#barrage",function(){ if (!$(thi ...
- Strus2学习:基础(一)
Strus2基础: Sturs2起源以及背景: 在起源很早(2002年左右)的 strus1 和 webWork 基础上进行扩展,并且兼容这两大框架!总之很好用啦,随着学习的深入,应该会有更好的诠释的 ...
- angularJS获取json数据(实战)
学习了这么多天的AngularJS,今天想从实战的角度和大家分享一个简单的Demo--用户查询系统,以巩固之前所学知识.功能需求需要满足两点 1.查询所有用户信息,并在前端展示 2.根据id查询用户信 ...
- ~/.config/user-dirs.dirs【桌面设置】
# This file is written by xdg-user-dirs-update # If you want to change or add directories, just edit ...
- GCD 开发
一.简介 GCD 的全称是 Grand Centre Dispatch 是一个强大的任务编程管理工具.通过GCD你可以同步或者异步地执行block.function. 二.dispatch Queue ...