uwsgi

面试字节跳动,我被怼了....

六眼飞鱼酱① 提交于 2020-05-08 19:53:30
人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的。 我一听 呀?那我这岂不是就不优秀了吗,于是毅然决然和女朋友分了手。 人们都说,互联网寒冬来了,这个时候还在大面积招人的公司,必然是牛逼的公司。而这个时候勇敢跳槽的人,必然是牛逼的人。 于是2019年1月25日下午14:00,我开始了字节跳动的社招面试。 为了这天,我前一天排老长的队理了个利落的发型,胡子刮得一干二净。穿上崭新的新百伦999,连袜子都是崭新的NB,墨绿色工装裤配酒红色卫衣,外面再搭一件精致的黑色羽绒小坎肩,准时准点出现在电脑屏幕前,准备开始视频面试。 去面试头条,你最好有点心理准备。我面试过头条的好兄弟给了我一句忠告。不过邮件对考查内容写的一清二楚,所以一面,我并没有做太强的心理建设,事实证明我可能对通用型业务和软性技能的理解还不够透彻。 ​ 时间到了,画面里出现一个面积很小的房间,面试官坐在里面调节姿势和座椅靠背。这不是我第一次,但我却比第一次还要紧张。面试官跟我的一位闷骚朋友很像,长相、气质、说话声音如出一辙,我几乎差点问他这些年跟郑州那个女孩子还有没有联系,孩子到底是不是你的...... 确认过眼神,我们在初次见面的紧张和局促中正式开始,前戏的部分大同小异,自我介绍,公司职能,项目简介。 小作坊走出来的小猿,项目经验并不出彩,没有高并发,没有分布式,前端后台服务器和数据库部署在同一台机器上

centos7部署Django

随声附和 提交于 2020-05-07 22:05:47
部署是基于:centos7+nginx+uwsgi+python3+django 之上做的 软件版本详细介绍,纯净操作系统:Centos7.0 Python版本:python3.6 Django版本:django2.0.6 本文包括以下几个部分内容: ㈠、 服务器环境部署详细步骤 ㈡、 本地项目搬迁到服务器 ㈢、 Django后台样式丢失解决办法 ㈣、 Django开启SSL证书(https域名)详细步骤 ㈤、 Django多站点部署方法 如果觉得看文字没意思,想看视频教程的,请点击这里: Django项目部署视频教程 详细步骤(下面步骤都是ROOT权限执行): 一、更新系统软件包 yum update -y 二、安装软件管理包和可能使用的依赖 yum -y groupinstall "Development tools" yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel 三、下载Pyhton3到/usr/local 目录 cd /usr/ local wget https:/ /www.python.org/ftp /python/ 3.6. 6/Python- 3.6. 6.tgz 解压 tar -zxvf Python-3 .6 .6 .tgz 进入

web理论知识--网页访问过程(附有Django的web项目访问流程)

纵饮孤独 提交于 2020-05-06 08:41:53
  当我们闲暇之余想上网看看新闻,或者看个电影,通常的操作是:打开电脑、打开浏览器、输入网址、浏览页面信息、点击自己感兴趣的连接......那么有没有想过,这些网页从哪里来的?过程中计算机又做了什么事情了?(PS,白话式叙述,有些啰嗦,勿喷。) 一、基础普及:   首先先定义几个名词,我们使用电脑上的浏览器访问网页,那么我们的电脑浏览器(Browser)就是 客户端 (Client),想一下:其实我们都是客户;而网上有一个大型的服务器(大点的电脑主机)用于存储我们看到的页面、视频、图片等等数据,服务器会根据我们的要求,将指定的内容发给我们,这个大型的服务器就是 服务端 (Server)。   客户端通过网络将需求发给服务端,服务端也是通过网络将数据发给客户端,数据在网络上高速传输,就好比汽车行驶在高速公路上,为了保证安全、顺畅的行驶,我们都需要遵守交通规则,同样数据在网络上传输也需要遵守一定的规则--称为 协议 ,互联网相关的协议多如牛毛,所有的这些协议统称为TCP/IP协议族,而我们熟知的HTTP就属于其中的一员。    每一个服务器都有一个唯一的IP地址,这个IP地址相当于服务器的身份证号,不同的服务器IP地址肯定不同,而客户端访问服务器,实际上是通过IP地址找到服务器进行访问的,但是IP地址是纯数字,比如120.25.254.88,普通人类难以记住,于是聪明的人类就发明了域名

04: gitlab安装与使用

浪子不回头ぞ 提交于 2020-05-06 07:07:17
1.1 gitlab安装(192.168.56.12中安装)   1、GitLab是什么?       1. GitLab实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。       2. GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。       3. 可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。       4. 它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找   2、gitlab安装   '''1. 初始化环境 ''' [root@linux -node2 ~] # yum install curl policycoreutils openssh-server openssh-clients postfix [root@linux-node2 ~] # systemctl start postfix '''2. 由于网络问题,国内用户,建议使用清华大学的镜像源进行安装''' [root@linux -node2 ~] # vim /etc/yum.repos.d/gitlab-ce.repo ''' [gitlab-ce] name=gitlab-ce baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce

Nginx安装及配置详解包括windows环境

梦想的初衷 提交于 2020-05-06 02:06:52
nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。 这里主要通过三个方面简单介绍nginx 反向代理 负载均衡 nginx特点 1. 反向代理 关于代理 说到代理,首先我们要明确一个概念,所谓代理就是一个代表、一个渠道; 此时就设计到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称为代理操作过程;如同生活中的专卖店~客人到adidas专卖店买了一双鞋,这个专卖店就是代理,被代理角色就是adidas厂家,目标角色就是用户 正向代理 说反向代理之前,我们先看看正向代理,正向代理也是大家最常接触的到的代理模式,我们会从两个方面来说关于正向代理的处理模式,分别从软件方面和生活方面来解释一下什么叫正向代理 在如今的网络环境下,我们如果由于技术需要要去访问国外的某些网站,此时你会发现位于国外的某网站我们通过浏览器是没有办法访问的,此时大家可能都会用一个操作FQ进行访问,FQ的方式主要是找到一个可以访问国外网站的代理服务器,我们将请求发送给代理服务器,代理服务器去访问国外的网站,然后将访问到的数据传递给我们! 上述这样的代理模式称为正向代理

Nginx概述、安装及配置详解

北战南征 提交于 2020-05-06 00:26:27
nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。 这里主要通过两个方面简单介绍nginx 反向代理 负载均衡 1. 反向代理 关于代理 说到代理,首先我们要明确一个概念,所谓代理就是一个代表、一个渠道; 此时就涉及到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称为代理操作过程;如同生活中的专卖店~客人到adidas专卖店买了一双鞋,这个专卖店就是代理,被代理角色就是adidas厂家,目标角色就是用户 正向代理 说反向代理之前,我们先看看正向代理,正向代理也是大家最常接触的到的代理模式,我们会从两个方面来说关于正向代理的处理模式,分别从软件方面和生活方面来解释一下什么叫正向代理 在如今的网络环境下,我们如果由于技术需要要去访问国外的某些网站,此时你会发现位于国外的某网站我们通过浏览器是没有办法访问的,此时大家可能都会用一个操作FQ进行访问,FQ的方式主要是找到一个可以访问国外网站的代理服务器,我们将请求发送给代理服务器,代理服务器去访问国外的网站,然后将访问到的数据传递给我们! 上述这样的代理模式称为正向代理

uwsgi常用参数详解(转)

别说谁变了你拦得住时间么 提交于 2020-05-04 09:39:28
uwsgi是一个通用server服务器,支持Python, Ruby等多种语言。uwsgi支持自动伸缩,当空闲超过一定时间,会关闭worker,当请求处理不过来需要排队时, 创建新的worker。 # 启用process manager,管理worker进程,worker进程都是这个master进程的子进程 master = true # wsgi文件 wsgi-file = wsgi.py # 该对象就是一个wsgi接口,如Flask中的app callable = WSGIHandler # 在app加载前切换到当前目录 chdir = /web/www/mysite # 监控python模块mtime来触发重载 (只在开发时使用) py-autoreload=1 # 在每个worker而不是master中加载应用。默认为false,表示先加载应用,再fork出worker,这样做可以让work尽量共用内存,只有当写时才copy # 由于先加载再fork,但有些东西是不支持fork的,比如socket连接,所以lazy-apps=false时,不要在加载应用时自动创建数据库连接等 lazy-apps=true # 指定监听该机器所有IP的5000端口 http-socket = :5000 # 指定unix domain socket文件

Nginx的负载均衡和项目部署

与世无争的帅哥 提交于 2020-05-03 23:49:51
nginx的作用 Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成 集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中, 实现负载的分发。那么会大大提升系统的吞吐率、请求性能、高容灾 Nginx要实现负载均衡需要用到proxy_pass代理模块配置 Nginx负载均衡与Nginx代理不同地方在于 Nginx代理仅代理一台服务器,而Nginx负载均衡则是将客户端请求代理转发至一组upstream虚拟服务池 Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用。 upstream配置 在nginx.conf > http 区域中 upstream django { server 10.0 . 0.10 : 8000 ; server 10.0 . 0.11 : 9000 ; } 在nginx.conf > http 区域 > server区域 > location配置中 添加proxy_pass location / { root html; index index

11: Django + gunicorn + Nginx 的生产环境部署

こ雲淡風輕ζ 提交于 2020-05-02 10:00:42
1.1 gunicorn介绍   1、Gunicorn       1. Gunicorn是使用Python实现的WSGI服务器, 直接提供了http服务, 并且在woker上提供了多种选择, gevent, eventlet这些都支持       2. 在多worker最大化里用CPU的同时, 还可以使用协程来提供并发支撑, 对于网络IO密集的服务比较有利.        说明:         1)同时Gunicorn也很容易就改造成一个TCP的服务, 比如doge重写worker类。         2)在针对长连接的服务时, 最好开启reuse_port, 避免worker进程负载不均。   2、uWSGI 与 Gunicorn       1. 不同于Gunicorn, uWSGI是使用C写的, 它的socket fd创建, worker进程的启动都是使用C语言系统接口来实现的       2. 在worker进程处理循环中, 解析了http请求后, 使用python的C接口生成environ对象       3. 再把这个对象作为参数塞到暴露出来的WSGI application函数中调用.       4. 而这一切都是在C程序中进行, 只是在处理请求的时候交给python虚拟机调用application.       5. 完全使用C语言实现的好处是性能会好一些.

[个人网站搭建]·Django增加评论功能(Python3)

淺唱寂寞╮ 提交于 2020-05-02 03:06:53
[个人网站搭建]·Django增加评论功能 个人主页--> https://xiaosongshine.github.io/ 个人网站搭建github地址: https://github.com/xiaosongshine/djangoWebs 安装django插件 pip install django-contrib-comments 配置settings.py INSTALLED_APP=( #..., 'django_comments', 'django.contrib.sites', ) SITE_ID = 1 在INSTALLED_APP添加django_comments和django.contrib.sites两个应用。 在外部添加 SITE_ID=1。 django的评论库是一个站点,所以需要添加sites的应用并设置当前django工程的站点id=1 更新数据库 python manage.py migrate 配置urls.py 在 urlpatterns 中添加 path(r'^comments/', include('django_comments.urls')), 修改前端页面显示评论列表和评论提交表单 接着,修改前端页面显示评论列表和评论提交表单。这些需要使用django_comments的模版标签,在使用标签之前导入加载: {# 导入评论库模块的模版标签