Nginx和uWSGI部署操作流程

  1. 服务器分为Nginx和uWSGI
    1. 浏览器发送请求时,如果是静态文件,如html\js\css\png等,则读取磁盘并返回
    2. 如果不是静态文件,则将所有请求信息转发给uWSGI
    3. uWSGI调用django框架,接受请求,处理应答,并返回响应给Nginx,由Nginx返回给浏览器
  2. 部署时要关闭调试,并允许任何机器进行访问,在settings.py中设置
    1. DEBUG = False
    2. ALLOW_HOSTS = ['*',]
  3. 搭建服务器的虚拟环境
    1. pip freeze > plist.txt 将本机虚拟环境的包列表导出
    2. 通过ftp或者scp将项目代码和plist.txt上传到服务器  scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
    3. 服务器上创建虚拟环境,并安装包 pip install -r plist.txt
  4. 项目默认会生成一个wsgi.py文件,确定了settings模块\application对象
    1. application对象:在python模块u中使用该对象与应用服务器进行交互
    2. settings模块:用于进行项目配置

uWSGI  实现了WSGI的所有接口,但用C编写效率更高,性能更稳当
  1. 安装uWSGI: pip install uwsgi
  2. 配置uWSGI,在项目目录(和manage.py一层)下创建uwsgi.ini, 配置如下
[uwsgi]
#使用nginx连接时使用
#socket=127.0.0.1:8080 
#直接做web服务器使用
http=0.0.0.0:8080
#项目目录
chdir=/home/python/Desktop/pytest/test6
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=test6/wsgi.py
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
  1. 启动: uwsgi --ini uwsgi.ini
  2. 停止: uwsgi --stop uwsgi.pid
  3. 查看: ps ajx|grep uwsgi

Nginx 用户负载均衡,反向代理
  1. Nginx使用:
    1. 下载nginx:  wget http://nginx.org/download/nginx-1.6.3.tar.gz
    2. 下载后解压缩 tar -zxvf nginx-1.6.3.tar.gz
    3. 进入nginx-1.6.3目录, 依次执行以下命令安装
      1. ./configure
      2. make
      3. sudo make install
    4. 默认安装到/usr/local/nginx,进入此目录 
    5. 启动: sudo sbin/nginx
    6. 停止: sudo sbin/nginx -s stop   /-s reopen 重启c  /usr/local/nginx/sbin/nginx -s stop
    7. 查看: ps ajx|grep nginx
  2. 将nginx指向uwsgi服务
    1. 打开配置文件  sudo gedit conf/nginx.conf
    2. 在server节点下添加新的location项,指向uwsgi的ip和端口,然后重启nginx
        location / {
            #将所有的参数转到uwsgi下
            include uwsgi_params;
            #uwsgi的ip与端口
            uwsgi_pass 127.0.0.1:8080;
        }
  1. 转移静态文件
    1. 打开配置文件 sudo gedit conf/nginx.conf
    2. nginx.conf的server_name 要设置为网站的ip:47.93.30.98
    3. 在server节点下添加新的location项,用于处理静态文件
    location /static {
        alias /var/www/test6/static/;   # 在该路径新建该文件夹
    }
    1. 在服务器上创建目录:sudo mkdir -vp /var/www/test6/static/  # 如果已存在不需要操作
    2. 修改目录权限: sudo chomd 777 /var/www/test6/static/
    3. 修改settiongs.py文件
      1. STATIC_ROOT='/var/www/test6/static/' # 设置为nginx静态文件存放的地址 与步骤2中的地址一致
      2. STATIC_URL='/static/'
    4. 收集所有静态文件到指定目录:python manage.py collectstatic
    5. 重启nginx服务

都部署之后要打开nginx和uwsgi服务才能访问网站
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值