pip install gunicorn
gunicorn 项目名.wsgi -b 0.0.0.0:9999
netstat -tpl
import logging
import logging.handlers
from logging.handlers import WatchedFileHandler
import os
import multiprocessing
bind = "127.0.0.1:8080" #绑定的ip与端口
backlog = 512 #监听队列数量,64-2048
chdir = '/root/sites/DjangoBlog' #gunicorn要切换到的目的工作目录**
worker_class = 'sync' #使用gevent模式,还可以使用sync 模式,默认的是sync模式
workers = multiprocessing.cpu_count()
#workers = 4 # multiprocessing.cpu_count() #进程数
threads = 16 #multiprocessing.cpu_count()*4 #指定每个进程开启的线程数
loglevel = 'info' #日志级别,这个日志级别指的是错误日志的级别,而访问日志的级别无法设置
access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'
accesslog = "/root/sites/DjangoBlog/log/gunicorn_access.log" #访问日志文件 **
errorlog = "/root/sites/DjangoBlog/log/gunicorn_error.log" #错误日志文件 **
# accesslog = "-" #访问日志文件,"-" 表示标准输出
# errorlog = "-" #错误日志文件,"-" 表示标准输出
proc_name = 'fof_api' #进程名
旧版本命令
gunicorn python:gunicorn.conf.py
新版本 (-c 表示指定的文件 , -D 表示后台运行)
gunicorn -c gunciorn.conf.py 项目名称.wsgi -D
不同的nginx版本配置不同
源码安装会在/usr/local/ 下 , yum 安装会自动分配目录
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
charset utf-8;
# root /usr/share/nginx/html;
root /root/message/_book;
# Load configuration files for the default server block.
---------------------------------------------------------------------------------------------
access_log /var/log/nginx/build-access.log; |
error_log /var/log/nginx/build-err.log; |
location = /favicon.ico { access_log off; log_not_found off; } |
location /static/ { |
#静态文件如js,css的存放目录 |
alias /root/Code/django-log/DjangoBlog-master/sites-data/; |
} |
location / { |
|
proxy_pass http://0.0.0.0:8080; # 这里要配合启动文件使用 |
proxy_redirect off; |
proxy_set_header Host $http_host; |
proxy_set_header X-Real-IP $remote_addr; |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
proxy_set_header X-Forwarded-Proto $scheme; |
} |
---------------------------------------------------------------------------------------------
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
systemctl restart nginx.service
killall gunicorn
gunicorn -c gunicorn.conf.py 项目名称.wsgi -D
python manage.py collectstatic (收集所有的静态资源到某个文件下(该文件在settings里有指定【STATIC_ROOT = os.path.join(SITE_ROOT, 'sites-data')
】))
指定: alias /root/Code/django-log/DjangoBlog-master/sites-data/;
重新加载: systemctl reload 然后页面也就会跟指定的路径进行映射,出现效果
原文:https://www.cnblogs.com/xinzaiyuan/p/12105899.html