硬件:树莓派3b
环境:python3,nginx
目录:root@HeannysPi:/home/pi/Documents/webtest#
文件列表:
pip安装uwsgi,django
新建django项目
代码语言:javascript复制django-admin startproject webtest
测试运行
代码语言:javascript复制python3 manage.py runserver 0.0.0.0:8088
编辑文件uwsgi.ini
代码语言:javascript复制[uwsgi]
socket = 127.0.0.1:8088
chdir=/home/pi/Documents/webtest/
#module=webtest.wsgi:applicationi
wsgi-file=/home/pi/Documents/webtest/webstest/wsgi.py
master = true
workers=1
vacuum=true
thunder-lock=true
enable-threads=true
harakiri=10
post-buffering=4096
daemonize =./log/uwsgi.log
pidfile=./log/uwsgi.pid
py-autoreload = 1
将nginx下的uwsgi_params复制到项目根目录,创建log目录,用于存放日志等
编辑nginx配置文件
添加:
代码语言:javascript复制upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8088; # for a web port socket (we'll use this first)
}
server {
listen 8001;
server_name localhost;
location / {
uwsgi_pass django;
include /home/pi/Documents/webtest/uwsgi_params;
}
}
重新读取配置文件
代码语言:javascript复制nginx -s reload
启动uwsgi
代码语言:javascript复制uwsgi --ini uwsgi.ini
打开localhost:8001,重新出现小火箭就说明成功啦
nginx负载均衡:
代码语言:javascript复制 upstream register_http {
#ip_hash; 什么是源地址哈希法,就是对访问用户的IP进行hash后的结果进行分配,这样每一个用户固定请求同一个后端服务器,能够解决session的问题。
server 127.0.0.1:8801;
server 127.0.0.2:8801 down;
server 127.0.0.3:8888 weight=2;
# fair;
}
#down:表示单前的server临时不參与负载.
#weight:默觉得1.weight越大,负载的权重就越大
#backup:其他全部的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻
#域名绑定,nginx调度服务
server {
listen 80;
listen 443 ssl;
server_name register.game.coccnet.com;
ssl on;
ssl_certificate /usr/local/nginx/html_register/ssl/1.pem;
ssl_certificate_key /usr/local/nginx/html_register/ssl/2.key;
location / {
proxy_pass http://register_http;
}
}
# register http 8801(处理服务器)
server {
listen 8801;
#反向代理
location ~ /api/* {
proxy_pass http://127.0.0.1:8888;
}
location / {
root html_register;
index index.html;
}
}