在阿里云Centos上配置nginx+uwsgi+负载均衡配置

    负载均衡在服务端开发中算是一个比较重要的特性。因为Nginx除了作为常规的Web服务器外,还会被大规模的用于反向代理后端,Nginx的异步框架可以处理很大的并发请求,把这些并发请求hold住之后就可以分发给后台服务端(backend servers, 后面简称backend)来做复杂的计算、处理和响应,并且在业务量增加的时候可以方便地扩容后台服务器。     说白了就是,随着业务和用户规模的增长,仅仅一台服务器......

利用Docker挂载Nginx-rtmp(服务器直播流分发)+FFmpeg(推流)+Vue.js结合Video.js(播放器流播放)来实现实时网络直播

    众所周知,在视频直播领域,有不同的商家提供各种的商业解决方案,其中比较靠谱的服务商有阿里云直播,腾讯云直播,以及又拍云和网易云的有偿直播服务,服务包括软硬件设备,摄像机,编码器,流媒体服务器等。但是其高昂的费用以及较高的准入门槛让许多个人和小型企业望而却步,本文要讲解的是如何使用nginx-rtmp搭建直播服务器,配合FFmpeg推流,在网页端vue.js作为载体利用video.js作为流播放器,打造一套可用的在线视频直播方案。 &n......

利用Docker挂载Nginx-rtmp(服务器直播流分发)+FFmpeg(推流)+Vue.js结合Video.js(播放器流播放)来实现实时网络直播

Python3利用ffmpeg针对视频进行一些操作

    FFmpeg是个啥?         FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。     首先去官网https://www.ffmpeg.org/download.html下载windows下的压缩包 &nbs......

在阿里云centos7.6上部署vue.js2.6前端应用

    在之前的一篇文章中详细阐述了如何部署Nginx代理uwsgi+django后台服务,现在轮到部署前端应用vue.js了,vue.js的好处就不多说了,其作为一个轻巧、高性能、可组件化的MVVM库,学习成本要比React要低,性能比脏检查的AngularJS不知道高到哪里去了。本文介绍如何在centos上部署vue.js应用。     建立一个简单的vue.js脚手架项目的完整命令 //安装cnpm npm i......

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

    一直以来想写一篇完整的在阿里云服务器上部署Django服务结合uwsgi,并且通过nginx做反向代理。因为网上的攻略鱼龙混杂,加上技术不断更新,一些年代久远的文章很容易让人在部署的过程中掉坑里,无法自拔,所以本篇文章以最新的阿里云服务器centos7.6为背景,完全阐述如何部署,亲测可用,其实要说难点完全没有,只要按部就班,就不会有问题。     当你购买了阿里云的ecs,涉及ecs的有两个密码,一定要搞清楚,一个密码是远程链接密码......

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

在Mac和Linux以及Windows下删除pip安装包缓存用以节约空间

    首先,如果你的pip版本在6.0以上的话,可以在安装软件的时候加上–-no-cache-dir 来选择不缓存,所以建议将pip升级到最新版本 pip3 install --upgrade pip     如果你已经用pip安装过不少软件,并且没有选择不缓存的话,可以用下面的命令来删除缓存      #Linux and Unix rm ......

Python版(3.7.2)支付宝(Alipay)退款(refund)接口的开发

    在之前的文章中介绍了如何编写支付宝支付接口 Python3.7.2+Django2.0.4 美多商城集成最新版支付宝支付接口(2019.04)     匆忙之中只考虑了支付,其实当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,支付宝将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 交易超过约定时间(签约时设置的可退款时间)的订单无法进行退款 ......

利用vue.js双向绑定机制和vue-resource在前端异步上传文件

之前介绍了一个基于jquery的uploadify插件,可以用来上传文件:Django2.0.4+Uploadify3.0(h5版) 实现多文件异步上传和删除 但毕竟这是面向过程基于节点的插件,如果前端使用vue.js的脚手架,就要入乡随俗,利用vue.js自带的vue-resource来实现异步上传视频文件 首先安装 vue-resource  没必要全局安装,所以只在需要用到的项目中安装即可 cnpm install......

解决Django2.0.4+kindeditor4.11 跨域上传文件的问题

    在之前的一篇文章中介绍了如何将富文本kindeditor结合到django中:Django2.0.4 结合 KindEditor 4.1.11 富文本编辑器     在同域环境中是没有问题的,换句话说,也就是上传接口如果部署在前端页面同一个域名下是没有问题的,然而美多商城的系统架构是前后端分离,前端页面是vue.js服务,后端接口是django服务,分别部署在不同的服务器上,如果在vue.sj页面中想要使用kinde......

为美多商城(Django2.0.4)添加基于websocket的实时通信,主动推送,聊天室及客服系统

websocket是个啥? webSocket是一种在单个TCP连接上进行全双工通信的协议 webSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输 现在,很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数......

为美多商城(Django2.0.4)添加基于websocket的实时通信,主动推送,聊天室及客服系统

在vscode中为Django配置专属的语法检测提醒,防止误报语法错误

    Python插件中默认使用pylint用来检测python代码的书写是否有错误和是否符合良好的编码习惯。 Python官网(https://www.python.org/dev/peps/pep-0008/)专门有版块介绍推荐的python代码习惯,比如类,函数等的命名规则,遵守这些规则可以使自己的代码更加简明和易读。 然而pylint在面对django框架时表现的有些不足,因为django使用了大量的元编程(metaprogra......

使用ApacheBench来对美多商城的秒杀功能进行高并发压力测试

    秒杀功能众所周知,低廉的价格会引来很多用户趋之若鹜的争抢点击,导致一系列的服务器负载问题,服务器负载太大而影响程序效率也是很常见的,Apache服务器自带有一个叫AB(ApacheBench)的工具,可以对服务器进行负载测试 同时美多商城的秒杀功能也会被高负载影响,从而导致超卖现象 安装xampp软件 进入 c:/xampp/apache/bin 基本用法: ab  -n 全部请求数 -c 并发数测试u......

Python3.7.2+Django2.0.4 美多商城集成最新版支付宝支付接口(2019.04)

  最新版支付宝算法的改变就是RSA升级了RSA2,长度推荐2048,其他的逻辑变化不大,关于秘钥的生成在之前的一篇文章已经有所介绍   在Mac系统下生成新版支付宝(2019年4月)支付接口私钥和公钥   在Django中集成支付接口的前置操作就是需要安装pycryptodome   pip3 install -i https://pypi.douban.com/simple pycryptodome ......

处理Centos6和Centos7下,python3处理中文的神坑

  在一个阿里云的ecs服务器上,安装了centos6.5,然后部署Django2.0.4+python3.7.2,处理编码格式为UTF-8的HTTP请求,但奇怪的发现,将bytes类型的请求内容decode的时候会报解码错误UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)  同样的程序,在windows Macos centos5.5 都没问题  网......

在Mac系统下生成新版支付宝(2019年4月)支付接口私钥和公钥

  在做美多商城三方支付业务时,需要连入支付宝支付接口,众所周知,支付宝支付采用了RSA加密签名的安全通信机制,开发者可以通过支付宝的公钥验证消息的来源,同时使用自己的私钥进行信息加密。RSA算法及数字签名机制是服务窗平台与开发者网关安全通信的基础。  关于数字签名机制无非就是下面这四步,归根结底就是为了提高安全性,毕竟涉及钱了,马虎不得:  第一、发方首先有一个公钥/私钥对,它将要签名的报文作为一个单向散列函数的输入,产生一个定长的散列码,一般称为消息摘要。  第二、使用发放的私钥对散列码进行......

Mac系统下,让Iterm 4 来记住常用的登录账号和密码

  经常在Mac下使用Iterm4的朋友肯定遇见过这种情况,每次连接某个远程服务器总是要一遍遍的敲用户名、密码。 那么能不能像Windows的软件一样,可以直接让软件记住。每次只要点击一下,就直接ssh到远程服务器上面去了,答案当然是可以了,这里推荐使用expect脚本来实现。    #!/usr/bin/expect   set timeout 30   spawn ssh -p [......

Django2.0.4 结合 KindEditor 4.1.11 富文本编辑器

  KindEditor是一款还不错的开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。之所以推荐这一款编辑器,是因为它非常的轻量化,也不需要安装,从而耦合度非常低,无论是使用表单提交内容还是异步提交,都非常方便,这里简单介绍一下如何在Django2.0.4中使用这款富文本编辑器。   首先 在官网下载文件 http://kinded......

关于win下面Celery服务报 Process 'Worker' exited with 'exitcode 1' [duplicate]

  使用Celery服务运行异步任务或者定时任务的时候,服务虽然起了,但是会报错:  Celery Process 'Worker' exited with 'exitcode 1' [duplicate]  导致任务并未运行。  经过搜索可以定位到问题所在,是因为celery依赖库billiard版本过低,导致任务发生了阻塞,所以最好的解决方案就是升级billiard  执行 pip install --upgrade billiard  官方的解释是,billiard最好>=......

使用python3.7.2 实现大名鼎鼎的Elo Score等级分制度

  在年度影片《社交网络》中,影片开场,马克扎克伯克和他的女朋友在酒馆里因为琐事分手,气急败坏的他回到了宿舍,在舍友的鼓励和帮助下,充分发挥了作为技术天才的动手能力,做出了Facemash网站,对大学女生的相貌进行分级打分,结果网站访问流量过大,直接把大学网络都搞宕机了。而Facemask就是著名的FaceBook的前身,Facemask大受欢迎的关键就在于扎克伯格的同学爱德华多(他也是facebook的联合创始人之一)写在窗户上的排名公式  ......

使用python3.7.2 实现大名鼎鼎的Elo Score等级分制度

Django2.0.4+Uploadify3.0(h5版) 实现多文件异步上传和删除

  已经9012年了,如果你的网站还通过传统表单上传文件的话,那你简直low到爆了,也别干什么web开发了,直接面壁去吧。   本文基于Uploadify异步上传控件来实现多文件异步上传的无刷新机制,用来提高效率和用户体验,由于uploadify基于jquery,所以确保已经引入了稳定版的Jquery,另外需要说明的是,uploadify分为flash版和h5版,鉴于flash早就已经被淘汰了,所以h5才是我们的选择,但是h5版居然需......