Django+Linux+Uwsgi+Nginx项目部署文档

WSGI

在生产环境中使用WSGI作为python web的服务器

WSGI:全拼为Python Web服务器网关接口,Python Web服务器网关接口,是项目默认会生成一个wsgi.py文件,确定了设置模块,uWSGI实现了WSGI的所有接口,是一个快速,自我修复,开发人员和系统管理员友好的服务器,C语言编写,效率高

Nginx

使用nginx的的作用主要包括负载均衡,反向代理

项目通过Django+Uwsgi+Nginx进行线上服务器部署

1、文件打包传服务器,通过xshell

文件 > 传输 > ZMODEM > 用ZMODEM发送 > 文件或压缩包

Linux下压缩包解压命令:

zip格式 :    unzip 压缩包路径

tar.gz格式 : tar zxvf 压缩包路径

(rar格式压缩包解压较为复杂,尽量别传rar格式)

2、Xshell使用技巧

文件 > 新建,开启多终端

建议开多终端,这样对uwsgi、Nginx、项目代码进行调试修改时,可以避免在一个终端下来回切换目录,提高工作效率,具体开终端的个数根据实际需求来定,并且右击tab终端名重命名,更加方便知道哪个终端对应做哪些事情

3、修改配置文件问题

不管修改uwsgi的配置文件uwsgi.ini还是修改nginx配置文件nginx.conf,修改完都必须重启服务才能生效,并且启动服务要在指定的目录下面重启

4、Uwsgi的安装

方法1、pip  install  uwsgi(有网的情况下)

方法2、没网情况下去官网下载uwsgi压缩包,为tar.gz格式,传到服务器,进行解压,解压路径/lib/目录下面,然后切换到uwsgi文件目录,执行以下两个命令,即可完成安装,示意图如下(解压路径可以自定义,记下来,方便以后进行维护)

python setup.py  build

python setup.py  install

5、Django项目中配置uwsgi

1、项目目录(例如本例中DataBusines)下创建uwsgi.ini文件,配置如下

本地测试一般用:127.0.0.1即可,端口可以自定

线上的话用线上服务器IP,端口自定,该配置访问地址需要和nginx.conf中的配置一样

例如:这是后面的nginx.conf配置文件,两者地址和端口需要一致

6、Uwsgi的使用(启动、查看进程、关闭)

启动uwsgi.ini,需要切换到项目目录

启动uwsgi: uwsgi --ini  uwsgi.ini

查看uwsgi进程:ps ajx|grep uwsgi

关闭uwsgi:

查阅相关资料文档,提到多种命令关闭方式,关闭命令的意义在于修改配置文件后,

一般需要重启uwsgi才会生效

1、uwsgi --stop uwsgi.pid(不好用,经常报pid找不到)

2、sudo pkill -f uwsgi -9(不好用,有可能报错,无效的-9)

3、killall -9 uwsgi(该命令最好用)

7、通过uwsgi网页访问

因为uwsgi本身就是web服务器,我们可以通过更改配置直接通过uwsgi进行访问网页

如下图:我们在服务器通过vi更改配置文件为http请求模式,更改后保存并重启uwsgi服务器,在我们自己的浏览器访问设置的IP和端口,成功显示页面,证明uwsgi配置成功

http模式:   直接用uwsgi时使用

socket模式: 使用Nginx时使用

8、Nginx的安装

方法1、pip  install nginx(官方提供有该方法,但是之前在本地测试遇到坑,没有配好,建议通过方法二中压缩包方式安装)

方法2、没网情况下去官网下载nginx压缩包,为tar.gz格式,传到服务器,进行解压,解压路径/lib/目录下面,然后切换到nginx文件目录,执行以下三个命令,进行安装

./configure

make

sudo make install

执行完以上命令后,nginx被安装在了/usr/local/nginx/,安装成功

9、nginx的使用(启动、查看进程、关闭)

进入nginx安装目录:cd /usr/local/nginx/

启动nginx:  sudo sbin/nginx

查看nginx进程: ps ajx|grep nginx

关闭uwsgi:

查阅相关资料文档,提到多种命令关闭方式,关闭命令的意义在于修改配置文件后,一般需要重启nginx才会生效

1、sudo sbin/nginx –s stop(不好用,报异常无效的-s)

2、sudo pkill -f uwsgi -9(不好用,报错,无效的-9)

3、killall -9 nginx(该命令最好用)

命令报错示意

10、nginx的配置文件nginx.conf配置

具体如图中所示,配置文件目录/usr/local/nginx/conf/nginx.conf,配置文件的修改需要通过vi进行修改

11、静态资源配置

配置静态资源目录是因为让静态资源通过nginx可以直接返回,不需要通过uwsgi,也就是让uwsgi只处理后端逻辑,不处理静态资源,优化性能

1、静态资源在nginx.conf中的配置,路径可以自定义

2、在服务器上创建如下目录

sudomkdir –vp /var/www/DataBusines/static/

3、修改目录权限

sudochmod 777 /var/www/DataBusiness/static/

4、项目代码中配置settings,加入该目录(本地演示在IDE中,线上可以用vi)

5、收集所有静态文件到static_root指定目录

服务器上切换到项目目录(DataBusines),执行如下命令收集

python  manage.py collectstatic

6、查看静态资源目录

12、更改uwsgi.ini配置

刚才在做uwsgi时候,用了http配置,现在nginx正式搭建起来,需要改成socket配置,修改完毕要重启uwsgi

Settings.py需要debug设置为不调试,允许访问的地址设置为服务器地址

以上步骤完成后,访问服务器主机地址和端口,如果nginx.conf中配置的为80端口,则地址栏不需要输入端口,因为浏览器请求端口也是默认为80端口,非80端口的需要自己在ip后面添加

转载于:https://www.cnblogs.com/fengbo123/p/10487759.html

Django+Linux+Uwsgi+Nginx项目部署文档相关推荐

  1. django+nginx+uwsgi项目部署文档整理

    django+nginx+uwsgi项目部署文档整理 参考文章:https://blog.csdn.net/qq_42314550/article/details/81805328 一.python安 ...

  2. 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤

    文章目录 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤 先决条件 步骤 本地运行测试 上传服务器 环境安装 准备django程序 完美解决! 瞬间心情愉 ...

  3. jeeplus mysql_2.jeeplus源码-项目部署文档.docx

    项目部署文档官方网址: 作者:lgf更新日期:2016-5-9开发工具:eclipse/myeclipse+ mysql/oracle+tomcat6/7/8.打开eclipse右键 -> Im ...

  4. 【Selenium+Pytest+allure报告生成自动化测试框架】附带项目源码和项目部署文档

    目录 前言 [文章末尾给大家留下了大量的福利] 测试框架简介 首先管理时间 添加配置文件 conf.py config.ini 读取配置文件 记录操作日志 简单理解POM模型 简单学习元素定位 管理页 ...

  5. 基于大数据的音乐数据中心平台(附:源码 课件 项目部署文档)

    项目介绍 音乐数据中心数仓综合项目主要是针对公司过去收集到的用户点播.购买音乐等数据(包括业务数据与用户行为数据),为公司业务更健康的发展提供决策服务支持(BI商业决策). 数据中心项目中包含业务系统 ...

  6. suse linux 11 手册,Suse linux enterprise server 11部署文档(中文),很难找到的!

    bulong 于 2010-03-24 21:03:45发表: 不能下 bulong 于 2010-03-24 21:03:40发表: 可我没钱 bulong 于 2010-03-24 21:03:3 ...

  7. IM开源项目OpenIM部署文档-从准备工作到nginx配置

    IM开源项目OpenIM部署文档-从准备工作到nginx配置 2022-11-14 22:27·OpenIM 一.准备工作 运行环境 linux系统即可, Ubuntu 7.5.0-3ubuntu1~ ...

  8. linux下单Nginx部署文档

    Linux下单Nginx部署文档 一.常规步骤 1 安装Nginx集群依赖 yum -y install pcre-devel openssl-devel gcc lrzsz openssh-clie ...

  9. java web部署文档_javaweb项目实施部署文档

    javaweb项目实施部署文档 一 .安装配置jdk Jdk的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.h ...

最新文章

  1. Python fabric实现远程操作和部署
  2. 文件复制软件绿化之dos命令
  3. HBuilderX代码设置断点或者书签
  4. OpenCV图像操作的实例(附完整代码)
  5. GoldenGate的ADD SCHEMATRANDATA命令研究
  6. FFMPEG分析比较细的文章
  7. 开源若要天下闻,掌声须给教育人
  8. PHP使用CURL抓取页面
  9. 外网访问内网Tornado
  10. 我对python的理解_python高级函数以及我对python的理解
  11. 2010湖南省第六界程序设计大赛 B题 --弟弟的作业(nyoj663)
  12. 分享一套基于HTML5的网络拓扑图组件 Qunee下载
  13. pyecharts-饼图/极坐标/雷达/水球图/仪表盘/词云图/漏斗图/箱型图/热力图/日历图
  14. intel 电脑棒一代linux,拆解:英特尔黑科技——电脑棒
  15. 网易蓝牙耳机怎么切换双耳_2020双十一蓝牙耳机怎么选?有哪些便宜又好用的蓝牙耳机?有哪些适合学生党的蓝牙耳机?《选购指南》...
  16. 微星z370安装linux系统,在MSI z370主板上安装win7和BIOS设置的详细教程
  17. STM32-外部中断详解
  18. call方法PHP,php __call方法如何使用
  19. 企业高管跳槽区块链,跳的是“坑”还是“槽”?
  20. JavaScript 获得对象的N种方法 [转]

热门文章

  1. java取路径含中文_java获取项目路径中文乱码
  2. python手机版做小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏...
  3. 免费学python的网站-python自学网站
  4. python中文什么意思-python中class是什么意思
  5. python安装步骤电脑版-超详细的小白python3.X安装教程|Python安装
  6. python语言是谁发明的咋读-Python简史
  7. python财务报表分析-浅谈利用Python分析财报找到值得投资的好公司的想法
  8. python pandas读取excel-python pandas模块简单使用(读取excel为例)
  9. python 3读取文件-python3的txt文件读写
  10. mapreduce编程实例python-Python模拟MapReduce的流程