linux安装Django 以及 生产环境部署实现高并发
1.首先安装python
Python编译安装
主要介绍linux环境下安装
cd /usr/local/src //进入安装目录
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
xz -d Python-3.6.2.tar.xz && tar xvf Python-3.6.2.tar //解压缩
cd Python-3.6.2 //进入解压目录
./configure --prefix=/usr/local/python
make && make install
/usr/local/python/bin/python3.6 --version //查看当前python版本
ln -s /usr/local/python/bin/python3.6 /usr/bin/python3.6 //做软链接
ln -s /usr/local/python/bin/pip3 /usr/bin/pip3
2.安装Django
pip3 install Django
cd /usr/local/python/bin //进入文件夹
ln -s /usr/local/python/bin/django-admin /usr/bin/django-admin //创建django-admin 工程的软链接
cd /home //进入任意一个目录
django-admin startproject mysite //创建工程
进入mysite工程下同名目录mysqite 修改settings 如果用的是mysql pip3 install pymysql
需要:
yum -y install mysql-devel
pip3 install mysqlclient
3.启动Django
在settings中找到ALLOWED_HOSTS=[],加入主机名或者域名
python3.6 manager.py runserver ip:port
安装uwsgi
pip3 install uwsgi
基本测试:
vim /home/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
运行:
/usr/local/python/bin/uwsgi --http :8000 --wsgi-file /home/test.py
用uwsgi 启动django
cd mysite #进入django项目主目录下
/usr/local/python/bin/uwsgi --http :8900 --module mysite.wsgi
也可以把参数写到配置文件里
vim /home/EasyBlog.ini
[uwsgi]
http = :9900
#the local unix socket file than commnuincate to Nginx
socket = 127.0.0.1:9901 #socket nginx监听端口
# the base directory (full path)
chdir = /home/EasyBlog# Django's wsgi file
wsgi-file = EasyBlog/wsgi.py
# maximum number of worker processes
processes = 4
#thread numbers startched in each worker process
threads = 2 #monitor uwsgi status
stats = 127.0.0.1:9191
# clear environment on exit
vacuum = true
启动
/usr/local/python/bin/uwsgi /home/EasyBlog.ini
安装nginx配合nginx使用
vim /data/nginx/conf/uwsgi.conf
upstream django {
server 127.0.0.1:9901; #端口为监听uwsgi的socket端口
}
server {
listen 80;
server_name blog.fuzegame.com;
charset utf-8;
client_max_body_size 75M; # adjust to taste
location /media {
alias /path/to/your/mysite/media; # your Django project's media files - amend as required
}
location /static {
alias /home/EasyBlog/static; # your Django project's static files - amend as required 配置静态文件路径
}
location / {
uwsgi_pass django;
include /home/EasyBlog/uwsgi_params; # the uwsgi_params file you installed
}
}
重要:把 nginx conf配置文件夹下的 uwsgi_params 拷贝到 django 目录下
cp /usr/local/nginx/conf/uwsgi_params /home/EasyBlog
在生产环境中,应该把django settings中的Debug= False
这样配置完成后 访问admin页面时看不到静态文件,可以这样操作
在 django settings 添加一行
STATIC_ROOT = 'all_static_files'
然后执行:
python3 manage.py collectstatic
执行完成后会在django工程目录下 自动创建一个 all_static_files 目录
最后还需要在nginx 中的django配置文件中 修改
location /static {
alias /data/mysite/all_static_files; # 修改成all_static_files
}
重启nginx
此时启动Nginx 和Uwsgi,你的django项目就可以实现高并发啦!
linux安装Django 以及 生产环境部署实现高并发的更多相关文章
- consul安装配置,生产环境部署高可用环境
1.建立三个consul节点(一个server+两个client) 具体的过程见http://www.cnblogs.com/java-zhao/p/5375132.html 1)在终端下启动vagr ...
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本 uwsgi- ...
- 第四百节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装python3.5.1
第四百节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装python3.5.1 1.检查系统是否安装了python [root@192 ~]# rpm -qa ...
- 第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块
第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块 virtualenv简介 1.安装virtuale ...
- 第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6
第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6 1.检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步 ...
- Django + Uwsgi + Nginx 的生产环境部署
使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇文章总结归 ...
- 第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置
第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置 1.Linux安装配置 注意事项: 虚拟机网卡桥接模式 不要拨VPN 如果,网络怎么都 ...
- 10: Django + Uwsgi + Nginx 的生产环境部署
1.1 一些重要概念 1.Web协议介绍 Web协议出现顺序: CGI -> FCGI -> WSGI -> uwsgi 1. CGI: 最早的协议 2. FCGI: 比CGI快 ...
- Django + Uwsgi + Nginx 的生产环境部署实战
目录 Django + Uwsgi + Nginx 的生产环境部署实战 安装Uwsgi 一.使用命令来启动django项目 二.使用配置文件来启动我们的Django项目 安装Nginx 配置Nginx ...
随机推荐
- JQurey 添加和删除元素
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> ...
- postman(十):配置jenkins自动发送邮件(邮件包含测试报告)
继续说一下jenkins与postman的集成 上一篇通过jenkins远程执行postman导出的脚本,并把html报告指定输出到了jenkins对应的job工作空间,接下来配置一下当jenkins ...
- 使用js实现放大镜效果
点击预览放大镜效果,图片比较大,因为需要精细的图片去凸显放大的效果,请耐心 可以通过滑轮控制放大倍数,由于图片太大 如果放大镜没有出现 可刷新一下网页
- CF 552(div 3) E Two Teams 线段树,模拟链表
题目链接:http://codeforces.com/contest/1154/problem/E 题意:两个人轮流取最大值与旁边k个数,问最后这所有的数分别被谁给取走了 分析:看这道题一点思路都没有 ...
- 从零开始学习Java多线程(二)
前面已经简单介绍进程和线程,为后续学习做铺垫.本文讨论多线程传参,Java多线程异常处理机制. 1. 多线程的参数传递 在传统开发过程中,我们习惯在调用函数时,将所需的参数传入其中,通过函数内部逻辑处 ...
- lumion物体系统,导入模型6.3
选择物体后可以改变它的颜色 “导入”“导入新模型.”su中模型分正面反面.在lumion中显示是不一样的.正面是可以显示出来的,反面就是透明的,lumion只能识别不同的材质,所以在su中要用不同的颜 ...
- c迭代器与生成器
一:迭代器 1.什么是迭代? 1.重复 2.下一次重复是基于上一次的结果 # l=['a','b','c','d'] # count= # while count < len(l): # p ...
- [NOIP2013D2]
T1 Problem 洛谷 Solution 这是线性扫描题吧. 就从1 ~ n 循环,若比起面高,则 ans += h[i] - h[i - 1]. Code #include<cmath&g ...
- [数]补题ver.
上次补题好像把两次训练混在一起了,总之先按时间顺序补完这一次|ू・ω・` ) HDU-6301 不会的东西不能逃避.jpg 红小豆非常讨厌构造题,因为非常不会,并且非常逃避学习这类题,因为总也搞不清楚 ...
- Java中的异常处理与抛出
一.异常处理 程序运行过程中出现的,导致程序无法继续运行的错误叫做异常. Java中有多种异常,所有异常的父类是Throwable,他主要有两个子类Error和Exception. Error一般是J ...