nginx uwsgi djangorestframework flower celery redis配置如下:
nginx server配置, 没有https,注释掉ssl开头配置即可.
代码语言:javascript复制server {
listen 80;
listen 443 ssl;
server_name localhost; # 域名
ssl_certificate your crt; # 证书crt
ssl_certificate_key your key; # 证书key
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 指定项目路径uwsgi
location / {
include weixin_uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的
uwsgi_connect_timeout 180; # 设置连接uWSGI超时时间
uwsgi_pass unix:/data/www/weixin_api/weixin.sock; # 指定uwsgi的sock文件所有动态请求就会直接丢给他
}
# 指定静态文件路径
location /static/ {
alias /data/www/weixin_api/static/;
}
}
安装uwsgi
pip3 install uwsgi
创建一个uwsgi.ini配置文件,配置如下:
代码语言:javascript复制# uwsgi使用配置文件启动
[uwsgi]
# 项目目录
chdir=/data/www/weixin_api/
# 指定项目的application
wsgi-file=weixin_api/weixin/wsgi.py
# 指定sock的文件路径
socket=/data/www/weixin_api/weixin.sock
# 进程个数
workers=8
pidfile=/data/www/weixin_api/script/uwsgi.pid
# 指定IP端口
http=0.0.0.0:8006
# 指定静态文件
static-map=/static=/data/www/weixin_api/static
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 启用主进程
master=true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=8192
# 设置日志目录
daemonize=/data/www/weixin_api/script/uwsgi.log
wsgi-file = /data/www/weixin_api/weixin/wsgi.py
uwsgi的关闭与启动,可以写一个shell脚本来控制
创建一个uwsgi_restart.sh,如下:
代码语言:javascript复制#!/bin/bash
API_INI="/data/www/API_rest_framework/script/uwsgi.ini"
WEIXIN_INI="/data/www/weixin_api/script/uwsgi.ini"
UWSGI="/usr/local/python36/bin/uwsgi"
PSID="ps aux | grep "uwsgi"| grep -v "grep" | wc -l"
if [ ! -n "$1" ]
then
content="Usages: sh uwsgiserver.sh [start|stop|restart]"
echo -e "