Django使用manager.py 运行项目,或者uWSGI进行部署项目,使用Nginx进行负载均衡
目录
- 1 WSGI 是什么
- 2 uWSGI 是什么
- 3 安装uwsgi
- 4 manager.py进行启动项目
- 5 uwsgi常见的问题
- 6 Nginx
- 6.1概念
- 6.2 安装Nginx
- 6.3 修改Nginx的配置
- 7 django使用runserver 启动,使用Nginx进行代理
- 8 django使用uwsgi启动,之后使用Nginx进行转发
- 9 Nginx保存静态文件,直接访问
1 WSGI 是什么
就是一个接口
2 uWSGI 是什么
和tomcat一样,就是一个服务器
3 安装uwsgi
我们登录虚拟机,在虚拟机里面安装uwsgi
1 安装uwsgi
这个命令查看是否安装这个uwsgipip3 freeze|grep -i 'uwsgi'
2 进行安装
pip3 install uwsgi==2.0.18 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
3 在我们的配置文件里面安装uwsgi的配置文件
ini文件的名称是随便起的
/mylinux/python/djangoproject/django_test/django_test
uwsgi --ini uwsgi.iniuwsgi --stop uwsgi.pidps -ef|grep uwsgitail -f uwsgi.log
启动的时候,报错
手动下载依赖,手动安装
但是提示版本不对,太低了,所以升级,升级的方法是
外部下载上传到linux里面运行Django报错,原因是因为SQLite版本过低,需要升级下载源码包: wget https://www.sqlite.org/2021/sqlite-autoconf-3350500.tar.gz(这里上官网https://www.sqlite.org自己找一下)解压: tar -zxvf sqlite-autoconf-3350500.tar.gz进入到目录:cd sqlite-autoconf-3350500初始化并编译安装:./configure --prefix=/usr/local/make && make install重命名并软链:mv /usr/bin/sqlite3 /usr/bin/sqlite3.bakln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3配置环境变量并生效:echo export LD_LIBRARY_PATH="/usr/local/lib">> ~/.bashrcsource ~/.bashrc检查版本:sqlite3 --version
启动项目的时候,又报错
ModuleNotFoundError: No module named '_ssl'
yum install openssl-devel
也是手动下载进行安装
安装好之后,
然后到python的解压文件夹下 Modules 目录, 找到Setup.dist文件,将下面几行的注释去掉(下图已去掉)。
vim Setup.dist (约50%处) 209行,原来人家是注释的,你打开,之后就变为
保存退出
之后重新编译安装
在这个解压的目录下,执行
4 cd 到解压的目录下
进行安装,可以指定一个安装目录
./configure --prefix=/mylinux/python/python3/ --enable-loadable-sqlite-extensions//安装到/usr/local目录
5
make
make altinstall //此处不能用install安装,因为install不区分版本,会出现多版本混乱的问题
make&& make install
6 以上完成之后,这个里面就有了ssl了,如何检查
进入python的客户端
没有报错就安装成功;
将创建django项目是生成的settings.py文件中的ALLOWED_HOSTS = [ ] 改成 ALLOWED_HOSTS = [’*’]
DEBUG = FalseALLOWED_HOSTS = ['*']
具体的uwsgi.ini文件里面的代码是
[uwsgi]
http=0.0.0.0:8222
chdir=/mylinux/python/djangoproject/django_test
wsgi-file=django_test/wsgi.py
process=4
threads=2
pidfile=uwsgi.pid
daemonize=uwsgi.log
master=True
以上启动之后,Windows里面就可以访问到了
4 manager.py进行启动项目
python3 manage.py runserver 0.0.0.0:8000
将创建django项目是生成的settings.py文件中的ALLOWED_HOSTS = [ ] 改成 ALLOWED_HOSTS = [’*’]
DEBUG = FalseALLOWED_HOSTS = ['*']
之后再manager.py文件的目录下,输入命令
python3 manage.py runserver 0.0.0.0:8000
但是会报错
django.db.utils.NotSupportedError: URIs not supporte
解决方法是进入/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py出错的位置把True改为False
我本地是
/mylinux/python/python3/lib/python3.6/site-packages
改完保存之后就可以启动项目,
启动成功之后再Windows浏览器访问
5 uwsgi常见的问题
6 Nginx
6.1概念
6.2 安装Nginx
安装
6.3 修改Nginx的配置
/usr/local/nginx/conf
7 django使用runserver 启动,使用Nginx进行代理
django使用runserver 启动,使用Nginx进行代理。
1 我们在linux里面,使用runserver 将django项目启动
python3 manage.py runserver 0.0.0.0:8000
以上启动之后,直接在Windows的浏览器端,就可以访问
2 我们使用Nginx进行转发
打开Nginx的配置文件
之后启动Nginx
./nginx -c /usr/local/nginx/conf/nginx.conf
在Windows里面的浏览器里面进行访问
8 django使用uwsgi启动,之后使用Nginx进行转发
1 首先打开uwsgi.ini文件
[uwsgi]socket=0.0.0.0:8009
chdir=/mylinux/python/djangoproject/django_test
wsgi-file=django_test/wsgi.py
process=4
threads=2
pidfile=uwsgi.pid
daemonize=uwsgi.log
master=True
进行保存退出
启动
uwsgi --ini uwsgi.iniuwsgi --stop uwsgi.pidps -ef|grep uwsgitail -f uwsgi.log
使用uwsgi启动项目
2 更改Nginx的配置
location / {# 这个ip和端口就是项目里面ini文件里面配置的uwsgi_pass 127.0.0.1:8009;include /usr/local/nginx/conf/uwsgi_params;}
保存之后启动项目
浏览器访问
9 Nginx保存静态文件,直接访问
我们的django项目,里面是有静态文件的,我们可以将django项目的静态文件放到linux的一个文件夹下,在Nginx里面配置这个文件夹
1 创建一个文件夹,以后文件夹里面就是存放项目的静态文件
/mylinux/python/static_test
修改django项目的配置文件,将静态文件的路径改为我们新建的这个
STATIC_ROOT='/mylinux/python/static_test/static/'
执行以下的命令,就将项目需要的静态文件放到我们自己创建的目录下了
python3 manage.py collectstatic
接下来就是告诉Nginx,什么样子的请求来了就会到这个文件夹下找东西
上面配置里面root的意思是 根目录
之后重启启动Nginx,浏览器访问
Django使用manager.py 运行项目,或者uWSGI进行部署项目,使用Nginx进行负载均衡相关推荐
- Django项目部署(四)NGINX实现负载均衡
可参考博客:https://blog.51cto.com/gaowenlong/1887997 https://blog.csdn.net/z406245159/article/details/728 ...
- django 使用nginx实现负载均衡
1.环境配置 我这有三台服务器,三台服务器配置都是 Centos 7.6, django 2.1, mysql 8.0,三台服务器都配置uwsgi,但是只有一台服务器中配置了nginx. 注意: 首先 ...
- iis服务器部署项目,IIS环境下部署项目的详细教程
分享IIS环境下部署项目的详细教程 1.环境部署 1.1安装IIS7 进入控制面板,选择"程序和功能",进入如下页面后 找到World Wide Web Services,确保选中 ...
- django + nginx 实现负载均衡
django配置 django的管理工具manage.py有个命令叫runserver,可以直接启动django的web服务. 我们可以写个bat文件来启动它: runserver.bat : % ...
- 服务器项目有哪些,怎么部署项目到服务器?服务器的特性有哪些?
怎么部署项目到服务器?服务器的特性有哪些? 分类:云服务资讯 编辑: 浏览量:100 2021-06-21 17:29:50 相信很多人都觉得建站容易部署难,部署项目到服务器不仅需要耗费大量的时间,还 ...
- tamcat服务器的项目配置,服务器配置tomcat部署项目
部署项目首先你需要把你的java web项目打包成war文件 在需要打包的项目上右键>选择[Export] 选中[Web]下面的[WAR file],点击[Next] 通过[Browse]选择保 ...
- k8s管理java项目_Kubernetes集群部署项目-部署Java项目(推送镜像
Kubernetes(简称k8s)是谷歌开源的一套容器化集群管理系统,当下已被众多大厂及中小企业采用,容器化技术是目前的大势所趋. 本套教程k8s版本升级为最新版1.18.0,内容由浅入深,且更加深化 ...
- vue.js将本地文件上传到ftp服务器,vue项目使用FTP传输部署项目服务器,node命令编写...
#!/usr/bin/env node var fs = require('fs'); // 引入需要模块 var vinylFs = require( ' ...
- idea插件tomcat8-maven-plugin远程部署项目~
简介: 在项目中时常需要部署项目,在程序员的工作中大部分时间,不是再解决bug,就是在部署项目的路上,有得时候各种各样的环境,部署时间就占用了一大半. 解决方案: 1.开启tomcat的远程部署,修改 ...
- CGB2005 JT7-8(文件 图片上传 uuid生成文件名 静态代码块,反向代理,Nginx,Host文件,tomact集群实现项目发布 ,nginx负载均衡种类)
注意事项 1.京淘文件上传 文件上传api 京淘图片上传 利用静态代码块赋值 图片上传优化(动态赋值) uuid去掉横线 2.反向代理机制(正向反向代理说明) nginx学习 nginx实现反向代理 ...
最新文章
- IT巨擎为何迷失互联网大潮
- linux某个线程信号唤醒,linux多线程编程--信号量和条件变量 唤醒丢失事件
- 包邮送50本畅销书,涵盖数据库、Python、机器学习等!
- 深度学习——Optimizer算法学习笔记
- LUOGU P4027 [NOI2007]货币兑换 (斜率优化+CDQ分治)
- PostgreSQL中 AnyElement AnyArray AnynonArray的区别与联系
- 错误与异常_1-5选择题
- java连oracle报17002,帮忙给看一个java访问oracle的异常
- linux下免密认证登录失败原因总结
- 国科大学习资料--操作系统(杨力祥)--2016年思考题(含解答)
- Java 编码规范11(安全规约)
- 解决微信小程序图片上传点击无反应问题
- DateUtil时间工具类的基本使用
- Oracle 监控索引使用率脚本分享
- codesys电子凸轮挺杆点的设置与使用
- Hadoop-The variance for this alert is **MB which is 20% of the **MB average (**MB is the limit)
- 使用 Win32 API 枚举应用程序
- sympy 符号函数求导
- qDebug()用法
- 【人工智能】模糊逻辑基本原理