Python+Django+uwsgi+Nginx 项目部署采坑记


一. 环境描述

  • 服务器: 阿里云ecs
  • 系统版本:Ubuntu 18.04LTS
  • 部署环境:Python3.6 + Django 1.11.13 + uwsgi 2.0.18 + MySQL 5.7 + Redis + Nginx

二. 步骤

说明: 至于如何在阿里云服务器中安装虚拟环境、Mysql、Reids、Nginx等我这篇文章不进行说明,免得把文章的篇幅写得太长,我这里主要记录一下配置中的几个关键步骤和可能遇到的问题及解决方案。

2.1 上线前更改setting中的配置

主要从以下几个方面进行

  1. setting.py文件中的 DEBUG设置由True改为Flase
  2. 将数据库

Read more

Django开发微信小程序后端实践


前言

         小程序作为轻量级的应用,具有开发周期短,能快速迭代的优点,而且还能借助大厂的流量入口,迅速导入用户。这也大概是为啥一些创业公司和团队喜欢用小程序进行产品的快速迭代的原因的。小程序快速的迭代,势必要求后端也能跟得上迭代的进度,因此选择一些优秀成熟的框架是必须的。
       最近公司需要快速开发一款小程序产品进行试水,给的周期比较短,工作量比较大,就一个后端从框架的搭建到数据库设计、逻辑实现、小程序的配置、服务器

Read more

通过Vue+Django+搭建前后端分离项目


一. 新建项目后端部分

  1. 新建项目框架

    通过下面的命令快速搭建Django项目结构

    mkdir front_end
    mkdir back_end
    cd ./back_end
    django-admin startproject projectname
    mkdir celery_tasks docs logs scripts
    cd projectname/
    mkdir apps libs settings templates utils
    touch apps/__init__.py
    touch settings/__init_.py
    touch libs/__init__.py
    touch uti

Read more

后端常使用的linux命令


1. 查看CPU性能负载

  • uptime

    用于观察服务器整体负载,系统负载指运行队列(1分钟、5分钟、15分钟前)的平均长度, 正常情况需要小于cpu个数。

  • vmstat

    vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,通常使用vmstat 5 5(表示每隔5秒生成一次数据,生成五次)命令测试。将得到一个数据汇总他能够反映真正的系统情况。

  • top

    top命令是最流行Unix/Linux的性能工具之一。系统管理员可用运行top命令监视进程和Linux整体性能。

Read more

微信公众号配置 token验证失败 解决方案总结


排查问题我将从以下几个步骤进行

  1. 自己编写的验证接口的问题
  2. 服务端配置问题
  3. 微信端出现的问题

一. 自己编写验证接口的问题

可能出现的情况 1.1 没有严格按照微信官方的要求进行token验证。 解决方案建议:详细多阅读几次官方文档,并达到理解的程度。这里我将文档中的重点位置摘录,以提醒注意: 验证消息的确来自微信服务器 开发者提交信息(如何配置不再累赘,参见官方文档)后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数

参数 描述
signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、non

Read more

微信小程序开发踩坑记(持续总结更新)


1. 小程序与后端进行交互的域名必须经过ICP备案,且只能采用HTTPS方式。
2. 由于小程序wx.request()方法是异步的,在app.js执行ajax后,各分页加载app.js的全局数据时,无法按顺序加载,这样其它页面在app.js数据还没请求完,数据还是undefined的时候就使用此数据造成错误。
//app.js
App({
    ajax:function(){
        let that = this;
        wx.request({
            url: 'https://xxxx',
            method: 

Read more

Git的使用入门及进阶


一. 如何使用git

1.1使用git进行版本控制

1.1.1 安装和初始化

在git的官网上下载对应系统的git系统并安装:https://git-scm.com/downloads

安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功了。

还需要最后一步设置,在命令行输入:

git config --global user.name "Your Name"
git config --global user.email "email@example.com"
git --help
git --version        #

Read more

前端开发利器Emmet插件的基本使用总结


1.Emmet的简介

Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的工具,能够实现 HTML、CSS 的快速编写。 官网地址:http://emmet.io/ 官方文档:http://docs.emmet.io/cheat-sheet/

1.1 使用Emmet的好处

通过使用Emmet的精简语法,可以加速前端的页面书写布局,提高前端的开发效率。

1.2 简单样例展示

  • 在pycharm编辑器(其它编辑器可以安装Emmet插件进行支持)的HTML文件中输入下面代码:
    div#box>(div#menu>(a.menu-item[href="#&

Read more

能提升你前端工作效率的工具总结


一. nvm

node版本管理工具

1.1 nvm简介

目前主流的node版本管理工具有两种,nvm和n。两者差异挺大的,具体分析可以参考《管理 node 版本,选择 nvm 还是 n?》 总的来说,nvm有点类似于 Python 的 virtualenv 或者 Ruby 的 rvm,每个node版本的模块都会被安装在各自版本的沙箱里面(因此切换版本后模块需重新安装),因此考虑到需要时常对node版本进行切换测试兼容性和一些模块对node版本的限制,经常选用nvm作为管理工具。

1.2 安装

下面简要介绍下安装及使用 主要介绍ubutu下及mac下的安装(linux可以参照),windows

Read more