目录

  • 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进行负载均衡相关推荐

  1. Django项目部署(四)NGINX实现负载均衡

    可参考博客:https://blog.51cto.com/gaowenlong/1887997 https://blog.csdn.net/z406245159/article/details/728 ...

  2. django 使用nginx实现负载均衡

    1.环境配置 我这有三台服务器,三台服务器配置都是 Centos 7.6, django 2.1, mysql 8.0,三台服务器都配置uwsgi,但是只有一台服务器中配置了nginx. 注意: 首先 ...

  3. iis服务器部署项目,IIS环境下部署项目的详细教程

    分享IIS环境下部署项目的详细教程 1.环境部署 1.1安装IIS7 进入控制面板,选择"程序和功能",进入如下页面后 找到World Wide Web Services,确保选中 ...

  4. django + nginx 实现负载均衡

    django配置 django的管理工具manage.py有个命令叫runserver,可以直接启动django的web服务.  我们可以写个bat文件来启动它:  runserver.bat : % ...

  5. 服务器项目有哪些,怎么部署项目到服务器?服务器的特性有哪些?

    怎么部署项目到服务器?服务器的特性有哪些? 分类:云服务资讯 编辑: 浏览量:100 2021-06-21 17:29:50 相信很多人都觉得建站容易部署难,部署项目到服务器不仅需要耗费大量的时间,还 ...

  6. tamcat服务器的项目配置,服务器配置tomcat部署项目

    部署项目首先你需要把你的java web项目打包成war文件 在需要打包的项目上右键>选择[Export] 选中[Web]下面的[WAR file],点击[Next] 通过[Browse]选择保 ...

  7. k8s管理java项目_Kubernetes集群部署项目-部署Java项目(推送镜像

    Kubernetes(简称k8s)是谷歌开源的一套容器化集群管理系统,当下已被众多大厂及中小企业采用,容器化技术是目前的大势所趋. 本套教程k8s版本升级为最新版1.18.0,内容由浅入深,且更加深化 ...

  8. vue.js将本地文件上传到ftp服务器,vue项目使用FTP传输部署项目服务器,node命令编写...

    #!/usr/bin/env node var fs = require('fs');                      //  引入需要模块 var vinylFs = require( ' ...

  9. idea插件tomcat8-maven-plugin远程部署项目~

    简介: 在项目中时常需要部署项目,在程序员的工作中大部分时间,不是再解决bug,就是在部署项目的路上,有得时候各种各样的环境,部署时间就占用了一大半. 解决方案: 1.开启tomcat的远程部署,修改 ...

  10. CGB2005 JT7-8(文件 图片上传 uuid生成文件名 静态代码块,反向代理,Nginx,Host文件,tomact集群实现项目发布 ,nginx负载均衡种类)

    注意事项 1.京淘文件上传 文件上传api 京淘图片上传 利用静态代码块赋值 图片上传优化(动态赋值) uuid去掉横线 2.反向代理机制(正向反向代理说明) nginx学习 nginx实现反向代理 ...

最新文章

  1. IT巨擎为何迷失互联网大潮
  2. linux某个线程信号唤醒,linux多线程编程--信号量和条件变量 唤醒丢失事件
  3. 包邮送50本畅销书,涵盖数据库、Python、机器学习等!
  4. 深度学习——Optimizer算法学习笔记
  5. LUOGU P4027 [NOI2007]货币兑换 (斜率优化+CDQ分治)
  6. PostgreSQL中 AnyElement AnyArray AnynonArray的区别与联系
  7. 错误与异常_1-5选择题
  8. java连oracle报17002,帮忙给看一个java访问oracle的异常
  9. linux下免密认证登录失败原因总结
  10. 国科大学习资料--操作系统(杨力祥)--2016年思考题(含解答)
  11. Java 编码规范11(安全规约)
  12. 解决微信小程序图片上传点击无反应问题
  13. DateUtil时间工具类的基本使用
  14. Oracle 监控索引使用率脚本分享
  15. codesys电子凸轮挺杆点的设置与使用
  16. Hadoop-The variance for this alert is **MB which is 20% of the **MB average (**MB is the limit)
  17. 使用 Win32 API 枚举应用程序
  18. sympy 符号函数求导
  19. qDebug()用法
  20. 【人工智能】模糊逻辑基本原理

热门文章

  1. 可编程控制器PLC概述
  2. 【第008问 Unity中什么是UV?】
  3. itools电脑显示服务器维护,win10系统iTools无法打开且服务无法启动的具体技巧
  4. 2020淘宝双十一快速刷金币工具
  5. 2018.9.13 贷款月供计算器
  6. android平板太卡要怎么办,怎么解决平板电脑卡顿的问题?
  7. ie浏览器总跳转到 http://hao.360.cn
  8. 化繁为简、敏捷迭代,轻量化小程序时代已然到来
  9. 数据组织与存储(一)
  10. php验证码 失效,php验证码无法显示的解决方法