Web-18 BBS-1

web-18-2

  1. topic 详细页面
  2. 评论

web-18-3

  1. 阅读数量
  2. 导航栏

web-19-1

  • 板块
  • 安全
  1. CSRF
    token
    删除验证token
    token和用户绑定存在服务器
  2. XSS
    www.jsfuck.com
    不要加safe
    关闭js访问cookie

web-19-2

  • 部署到服务器
  1. wigi.py
  2. gunicorn
  3. supervisor
  4. nginx
  • nginx监听80端口所以请求都是nginx得到然后转发给后台的gunicorn

配置没看懂。
配置软链接没看懂。

web-20-1

nginx : http server
gunicorn: http server
wsgi: 包装出来一个app

nginx gunicorn?
data -> nginx -> gunicorn -> wsgi -> app ?

  1. 反向代理
    gunicorn 2000
    gunicorn 2002
    nginx 80
  2. 负载均衡
    haproxy 去访问google.com
  3. 静态文件托管
    send_by_directory 每次都send很不好
    配置了一个rule,保存在nginx的缓存,不会走到app这一层
  4. 缓冲
    traffic busy
    缓冲负载

19-2部署全流程

  1. coding.net创建项目


    Web-18 BBS-1_第1张图片
    微信截图_20180101143359.png
  2. 点击SSH,复制地址 [email protected]:tylvyang/bbs.git

    Web-18 BBS-1_第2张图片
    微信截图_20180101143729.png

  3. 从coding.net克隆到本地


    Web-18 BBS-1_第3张图片
    微信截图_20180101144350.png
  4. 从本地add到github


    Web-18 BBS-1_第4张图片
    微信截图_20180101144614.png
  5. 手动把bbs上的代码复制到webbbs目录里,然后commit to master 然后 Sync


    Web-18 BBS-1_第5张图片
    微信截图_20180101145155.png
  6. 登陆服务器,克隆到服务器


    Web-18 BBS-1_第6张图片
    微信截图_20180101145823.png
  7. 添加wsgi文件,没必要在supervisor和nginx下面创建conf文件。
    用软链接链接到自己的项目文件下面。
    相当于文件在项目里面,在supervisor和nginx创建了快捷方式

#!/usr/bin/env python3

import sys
from os.path import abspath
from os.path import dirname
import app


sys.path.insert(0, abspath(dirname(__file__)))
application = app.app

"""
建立一个软连接
ln -s /var/www/bbs/bbs.conf /etc/supervisor/conf.d/bbs.conf

ln -s /var/www/bbs/bbs.nginx /etc/nginx/sites-enabled/bbs



➜  ~ cat /etc/supervisor/conf.d/bbs.conf

[program:bbs]
command=/usr/local/bin/gunicorn wsgi --bind 0.0.0.0:2001 --pid /tmp/bbs.pid
directory=/var/www/bbs
autostart=true
autorestart=true




/usr/local/bin/gunicorn wsgi
--bind 0.0.0.0:2001
--pid /tmp/bbs.pid
"""
  1. 添加了bbs.conf,然后上传,最后在服务器git pull,下图,添加软链接


    Web-18 BBS-1_第7张图片
    微信截图_20180101154048.png
  1. service supervisor restart 运行服务器。
    ufw allow 2001 防火墙允许2001 端口

你可能感兴趣的:(Web-18 BBS-1)