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 以及 生产环境部署实现高并发的更多相关文章

  1. consul安装配置,生产环境部署高可用环境

    1.建立三个consul节点(一个server+两个client) 具体的过程见http://www.cnblogs.com/java-zhao/p/5375132.html 1)在终端下启动vagr ...

  2. 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置

    第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本  uwsgi- ...

  3. 第四百节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装python3.5.1

    第四百节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装python3.5.1 1.检查系统是否安装了python [root@192 ~]# rpm -qa ...

  4. 第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块

    第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块 virtualenv简介 1.安装virtuale ...

  5. 第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6

    第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6 1.检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步 ...

  6. Django + Uwsgi + Nginx 的生产环境部署

    使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇文章总结归 ...

  7. 第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置

    第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置 1.Linux安装配置 注意事项: 虚拟机网卡桥接模式 不要拨VPN 如果,网络怎么都 ...

  8. 10: Django + Uwsgi + Nginx 的生产环境部署

    1.1 一些重要概念 1.Web协议介绍 Web协议出现顺序: CGI -> FCGI -> WSGI -> uwsgi 1. CGI:  最早的协议 2. FCGI:  比CGI快 ...

  9. Django + Uwsgi + Nginx 的生产环境部署实战

    目录 Django + Uwsgi + Nginx 的生产环境部署实战 安装Uwsgi 一.使用命令来启动django项目 二.使用配置文件来启动我们的Django项目 安装Nginx 配置Nginx ...

随机推荐

  1. selenium+Headless Chrome实现不弹出浏览器自动化登录

    目前由于phantomjs已经不维护了,而新版的Chrome(59+)推出了Headless模式,对爬虫来说尤其是定时任务的爬虫截屏之类的是一大好事. 不过按照网络上的一些方法来写的话,会报下面的错误 ...

  2. linux如何查看所有的用户和组信息?

    cat /etc/passwd cat /etc/passwd查看所有的用户信息,详情如下图   [步骤二]cat /etc/passwd|grep 用户名 cat /etc/passwd|grep ...

  3. vue_全局注册过滤器

    在一个项目中, 某些过滤器全局都有可能用的到, 统一管理并自动化全局注册是很方便的. 代码如下, 后续只需要在src/filters/index.js中添加方法就可以全局使用过滤器了. // src/ ...

  4. hive中控制文件生产个数

    在有些时候,想要控制hql执行的mapper,reducer个数,reducer设置过少,会导致每个reducer要处理的数据过多,这样可能会导致OOM异常,如果reducer设置过多,则会导致产生很 ...

  5. cron定时任务

    1.确认系统安装了cron rpm -aq | grep crontabs 2.认识cron时间格式 3.生成定时任务 crontab -e #进入任务命令编辑模式 30 7,12,20 * * * ...

  6. Android 中正则表达式工具类

    package com.example.administrator.magiclamp.utils; import java.util.regex.Pattern; /** * 校验器:利用正则表达式 ...

  7. append导致TypeError: 'NoneType' object is not iterable

    a=[1,2,3] a.append(4) a Out[4]: [1, 2, 3, 4] a=a.append(5) print(a) None a =[1,2,3] print(a.append(4 ...

  8. 创建ajax的步骤

    第1步:创建XMLHttpRequest对象,也就是创建一个异步调用对象. 第2步:创建一个新的HTTP请求,并指定该HTTP请求的方法.URL以及验证信息. 第3步:设置响应HTTP状态变化的函数. ...

  9. IIS部署发布flask网站

    先参考http://python.jobbole.com/87655/,会发现失败. 再参考https://blog.csdn.net/david_lee13/article/details/8198 ...

  10. vue实现动态异步组件

    https://segmentfault.com/a/1190000015080442 https://www.jianshu.com/p/40a364b5e964 <component :is ...