django2+python3+uwsgi+centos7部署网站
Centos7中安装Python虚拟环境
1.为什么要搭建虚拟环境?
- 问题:如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在同一个目录下安装或者更新, 新版本会覆盖以前的版本, 其它的项目就无法运行了.
- 解决方案 : 虚拟环境
作用 : 虚拟环境可以搭建独立的python运行环境, 使得单个项目的运行环境与其它项目互不影响.
在开发过程中, 便于控制python的web框架或工具包的版本,创建多个虚拟环境,就相当于我们在一台电脑上拥有了多个python解释器。
好了,接下来我们开始安装了~
2.搭建python虚拟环境
1.我们先创建一个隐藏目录 .virtualenvs,所有的虚拟环境都放在此目录下
2.安装虚拟环境
pip3 install virtualenv
pip3 install virtualenvwrapper
- 1
- 2
3.配置环境变量,增加最后两行 vim ~/.bashrc
export WORKON_HOME=/root/.virtualenvs
source /usr/local/python3.6.5/bin/virtualenvwrapper.sh
运行测试:source ~/.bashrc
发现报错了,是说 /usr/bin/python 没有 virtualenvwrapper 模块,我们把 /usr/bin/python 换成 python3
报错截图
思路:/usr/bin/python → /usr/bin/python2
操作:mv /usr/bin/python /usr/bin/python2
然后把 python3 执行文件通过软链接的方式放到 /usr/bin/python
操作:ln -s /usr/local/python3.6.5/bin/python3 /usr/bin/python
再次执行source ~/.bashrc
成功!
4.创建虚拟环境
- 在python3中,创建虚拟环境,需要联网!!!
mkvirtualenv -p python3 虚拟环境名称
例 :
mkvirtualenv -p python3 Django_virtualenv
出现这种错误,是因为 virtualenv 这个基础依赖包被安装在默认 Python 目录下,就需要做一个软连接 ln -s
首先还是用 find / -name "virtualenv" 去找到位置
然后做软连接ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
创建成功
提示 :
1.创建虚拟环境需要联网
2.创建成功后, 会自动工作在这个虚拟环境上
3.工作在虚拟环境上, 提示符最前面会出现 “虚拟环境名称”
- 1
- 2
- 3
- 4
3.使用虚拟环境的命令
选择虚拟环境:
workon 两次tab键退出虚拟环境
deactivate删除虚拟环境
rmvirtualenv 虚拟环境名称
例 :删除虚拟环境py3_flask先退出:deactivate
再删除:rmvirtualenv py3_flask
4.在虚拟环境中安装工具包
工具包安装的位置 :
~/.virtualenvs/py3_flask/lib/python3.5/site-packages安装工具包,先使用 workon Django_virtualenv 进入到 虚拟环境
pip install 包名称例 : 安装 django==1.11.11 的包
pip install django==1.11.11查看虚拟环境中已经安装的包
pip list
OK,到此虚拟环境安装完成,你也可以根据自己的需要创建多个虚拟环境
部署

nginx配置:
nginx配置文件内容
vim /etc/nginx/conf.d/students.conf (students.conf自定义起名字)
upstream students{
server unix:///root/django-demo/students.sock;
}
server{
listen 80;#端口号
server_name 192.168.254.67;服务器ip
charset utf-8;设置中文
client_max_body_size 75M;文件传输最大75M
location /static{
alias /root/django-demo/static_dist;静态文件存放位置
}
location /{
uwsgi_pass students;
include /etc/nginx/uwsgi_params;加载参数
}
}
students_uwsgi.ini文件内容
[uwsgi]
chdir = /root/django-demo #项目名字
module = students.wsgi #模块加载
home = /root/.virtualenvs/django-env-py3#虚拟环境
socket = /root/django-demo/students.sock
chmod-socket = 666 #设置权限
django2+python3+uwsgi+centos7部署网站的更多相关文章
- Django+uWSGI+Nginx 部署网站
Django 1.11设置 保证Django在本地调试没有问题: 当然这是前提^_^ 收集静态文件至指定文件夹 Django静态文件设置具体参考:https://docs.djangoproject. ...
- 「Linux+Django」Django+CentOs7+uwsgi+nginx部署网站记录
转自:http://www.usday.cn/blog/51 部署前的准备: 1. 在本地可以运行的django项目 2. 一台云服务器,这里选用Centos系统 开始部署: 首先在本地导出项目需要的 ...
- Python3 + django2.0 + apache2 + ubuntu14部署网站上线
自己尝试在本地搭建了 Django 项目后,想部署到自己云服务器上,经常多次尝试和多次踩坑(捂脸),总结如下: 环境:ubuntu14, django2.0, apache2. 1.首先安装需要的库包 ...
- 基于腾讯云CentOS7.4+MySQL5.7+Python3+uwsgi+nginx的Django项目部署
准备知识 1.django一个基于python的开源web框架,请确保自己熟悉它的框架目录结构. 2.uWSGI一个基于自有的uwsgi协议.wsgi协议和http服务协议的web网关 3.nginx ...
- Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)
Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...
- 使用uWSGI+nginx部署Django项目
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...
- Python基础 - Ubuntu+Nginx+uwsgi+supervisor部署Flask应用
网上找了许多讲关于Flask应用部署的文章几乎都是一个helloworld的Demo,按照helloworld来部署都没问题,但实际项目部署时还是遇到了不少问题.在这里简单写下自己成功部署的过程,防止 ...
- virtualvenv+django+uWSGI+nginx 部署
原创博文 转载请注明出处! 1. virtualvenv 2. django 3. uWSGI 4. nginx 5. 踩坑记录 1. virtualvenv virtualvenv install ...
- centosflask+uWSGI+nginx部署
centosflask+uWSGI+nginx部署 1. 概念 Flask自带webserver--Werkzeug,可以搭建服务,运行网站.但在开发时,一般会用专业的--uWSGI. 另外 ...
随机推荐
- 微信小程序——编辑
记录一下 微信小程序分页编辑,可增页删除当前页面.第一页为主图片和主句子.其他页面一致. 左滑右滑可切换页面.每页可增加0到1页.小黑点与页面一致. /* pages/booktool/write/w ...
- 20175314 《Java程序设计》第八周学习总结
20175314 <Java程序设计>第八周学习总结 教材学习内容总结 安利一个非常实用的图片处理工具:图片工厂,它具有非常强大的图片批处理能力,比如加水印.降低画质.命名等,不仅如此它还 ...
- Ubuntu 批量添加用户
#!/bin/bash cat user.txt | while read linedo user=$(echo $line | cut -d ' ' -f1) passwd=$(echo ...
- 【转】使用python实现appium的屏幕滑动
前些日子写一个滑动手机页面的小脚本,看到大家给的内容都是swipe方法,这里对swipe方法做一个小介绍: Swipe(int start x,int start y,int end x,int y, ...
- grid布局
display: grid; //行 //每一行中有几块,每块所占的width的百分比(1) grid-template-columns: 70% 30%; //每个div的width 100px,自 ...
- redis学习笔记01 — 基本介绍、安装配置及常用命令
redis--NoSQL的一种 为了解决高并发.高可用.高扩展.大数据存储等一系列问题而产生的数据库解决方案,就是NoSQL NoSQL,非关系型数据库,全名:Not Only Sql,它不能代替关系 ...
- 消息中间件和JMS介绍
在一个公司创立初期,他可能只有几个应用,系统之间的关联也不是那么大,A系统调用B系统就直接调用B提供的API接口:后来这个公司做大了,他一步步发展有了几十个系统,这时候A系统要调用B系统的接口,但是B ...
- mr实现pagerank
PageRank计算什么是pagerankPageRank是Google专有的算法,用于衡量特定网页相对于搜索引擎索引中的其他网页而言的重要程度.是Google创始人拉里·佩奇和谢尔盖·布林于1997 ...
- Dockerfile制作自定义镜像
本文介绍最精简的Dockerfile文件构建镜像,Docker启动的时候可以启动一个shell脚本 1.首先编写Dockerfile文件 说明 1.启动的这个shell脚本一定是不退出的,比如服务器的 ...
- Spring事务,Bean生命周期
一.事务相关: 1.Spring事务基于Spring AOP切面编程: 2.AOP基于代理模式,得到需要开启事务的代码的代理对象: 3.而没有开启事务的Service方法里调用了开启事务 @Trans ...
