uWSGI+nginx +Django

安装pip3(python3 的pip)

sudo apt-get install python3-pip

安装uwsgi

pip install uwsgi

测试uwsgi运行状态

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]

然后直接使用uwsgi运行该文件

uwsgi --http :8000 --wsgi-file test.py. #此语句的意思是,使用uwsgi运行test.py文件, 采用http模式, 端口8000

可以正常访问就说明可以了
在这里插入图片描述
上传自己的Django项目
在这里插入图片描述

pip3 install virtualenv  # 安装虚拟环境
python3 -m venv env_1   # 在当前目录 创建python虚拟环境目录 下面的操作都可以在这个环境下进行
source /www/wwwroot/sfz/env_1/bin/activate  # 激活python虚拟环境

在虚拟环境下 安装Django 对应的版本

pip3 install Django

尝试项目是否可以正常启动

python3 manage.py runserver 0.0.0.0:8000

在这里插入图片描述

uswgi运行项目 如果可以正常访问那就没问题了,可以进行下一步了

uwsgi --http :8000 --chdir /www/wwwroot/sfz  --wsgi sfz.wsgi
#uwsgi --http :8000 --chdir <项目地址>  --wsgi 项目名称.wsgi

uWSGI+nginx +Django

在项目目录新建文件 conf.ini

[uwsgi]
#指定与Nginx通信的方式,不影响uwsgi本身运行。如果配置了需要到nginx中进行相关配置-才能通过nginx访问Django

## 启动一个master进程,来管理其余的子进程
#master = True
#uid=root
#gid=root
socket = 127.0.0.1:8666    # 一定要和Nginx中某一项配置成一样
http = 127.0.0.1:8661 
#django项目目录,与manager.py同级
chdir = /www/wwwroot/sfz

#主应用中的wsgi,下面这种配法是在Django根目录下运行uwsgi有效,主APP名为有settings.py的那个目录名。如果是其他目录运行,下面建议写
成绝对路径。
module = sfz.wsgi

#服务停止时自动移除unix Socket和pid文件
vacuum = true
workers = 5
#设置每个工作进程处理请求的上限,达到上限时,将回收(重启)进程,可以预防内存泄漏
max-requests=500
enable-threads=true
harakiri=30
post-buffering=1028
#设置后台运行保存日志。只要配置了daemonize就会让uwsgi后台运行,同时将日志输出到指定目录
daemonize=uwsgi.log

#保存主进程的pid,用来控制uwsgi服务
pidfile=uwsgi.pid
#uwsgi --stop/reload xxx.pid 停止/重启uwsgi

#静态文件映射
#static-map = /static=Django下static目录的绝对路径

此处是宝塔的配置图
在这里插入图片描述

 location / {
    root /www/wwwroot/sfz/;
    include      /www/wwwroot/sfz/uwsgi_params; # 这个文件要自己新建
    uwsgi_pass   127.0.0.1:8666;  
    }
    
    location /static {
        alias /www/wwwroot/sfz/static/; # 静态文件目录。不知道为啥我配置了图片还是加载不了,后来用了图床
    }

uwsgi_params

uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;

uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;

uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

运行下面就可以通过域名进行访问了

uwsgi --ini conf.ini
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值