zoukankan      html  css  js  c++  java
  • Nginx+uwsgi+django部署项目

    nginx把请求转发给uwsgi,然后把uwsgi处理得到的结果返回给浏览器。

    安装nginx:

    yum -y install gcc pcre-devel openssl-devel #安装Nginx需要依赖这三个包
    useradd -s /sbin/nologin nginx #创建一个不能登录的用户用来启动Nginx

    源码安装:
    tar -xvf nginx~~~~~.tar.gz #解包
    cd ./nginx~~~~~/ #进入安装目录
    ./configure --prefix=/usr/loacal/nginx --user=nginx --group=nginx --with-http_ssl_module
    #--prefix是安装的路径,默认是/usr/local/nginx
    #--user指定启动的用户
    #--group指定组
    #--with-http_ssl_module开启ssh加密

    防火墙:

    systemctl stop firewalld
    setenforce 0

    ln -s /usr/local/nginx/sbin/nginx /sbin/ #创建快捷方式,这样直接使用nginx命令就可以了
    nginx #启动服务 如果没有快捷方式则输入/usr/local/nginx/sbin/nginx启动服务
    nginx -s stop #关闭服务
    nginx -s reload #重新加载配置文件

    安装uwsgi:

    pip install uwsgi

    新建test.py文件用于测试uwsgi
    def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return "Hello World"

    uwsgi --http :9999 --wsgi-file test.py
    curl http://127.0.0.1:9999 #进行验证

    nginx连接uwsgi:

    1、配置ini文件,使用uwsgi访问动态页面
    mkdir /sur/local/uwsgi #任意创建文件夹
    vim django_pro.ini #创建ini文件,用来启动项目
    [uwsgi]
    socket = 127.0.0.1:8899 #定义ip和端口,通过ip和端口访问uwsgi
    master = true #主进程
    vhost = true #多站模式
    no-site = true #多站模式时不设置入口模块和文件
    workers = 2 #子进程数
    reload-mercy = 10
    vacuum = true #退出、重启时清理文件
    max-requests = 1000 #最大请求数
    limit-as = 512
    buffer-size = 30000
    pidfile = /sur/local/uwsgi/uwsgpid.pid #pid文件,用于下面的脚本启动、停止该进程
    daemonize = /website/uwsgilog.log #日志信息

    2、修改nginx配置文件用于做请求转发:
    vim /usr/local/nginx/conf/nginx.conf
    location / {
    include uwsgi_params; #nginx中提供和uwsgi的接口,在conf/目录下
    uwsgi_pass 127.0.0.1:8899; # 请求转发给uwgsi
    uwsgi_param UWSGI_CHDIR /xxxx/yyyy/project; #项目根目录
    uwsgi_param UWSGI_SCRIPT project.wsgi; #项目入口,相对于项目根目录的路径
    # index index.html index.htm; #可以不需要
    client_max_body_size 35m;
    }

    uwsgi --ini django_pro.ini #后台运行uwsgi
    nginx -s reload #重启nginx服务

    nginx 默认是80端口
    通过 127.0.0.1:80访问
    127.0.0.1:8899访问的是uwsgi,不是web服务。

    ---------------- 生活 > 学习 >> 工作 ----------------
  • 相关阅读:
    ajax是什么? ajax的交互模型? 同步和异步的区别? 如何解决跨域问题?
    集锦 比较好
    集锦
    伊甸园日历游戏
    晴天小猪历险记之Hill
    求无向图最小环算法
    旅行商简化版
    十字绣
    破坏石油运输系统问题
    强墙
  • 原文地址:https://www.cnblogs.com/jcxioo/p/11632324.html
Copyright © 2011-2022 走看看