1.通过nginx配置找到 nginx得文件配置根目录
2.然后新建*.conf配置文件设置反向代理引导
一般nginx配置目录/www/server/panel/vhost/nginx
3.查看监听端口口令
激活虚拟环境source myenv/bin/activate
端口占用口令重启nginx口令
4. django后端大概配置样板server {
listen 304;
# 绑定IP和域名(如有域名可添加,多个用空格分隔)
server_name 115.190.91.3;
# 根目录和索引文件(代理场景下可简化)
root /www/wwwroot/codexf1.codexr.cn;
index index.html index.htm;
# 日志配置(区分访问和错误日志,添加时间戳)
access_log /www/wwwlogs/codexrBk.log ;
error_log /www/wwwlogs/codexrBk.error.log warn; # 错误级别设为warn,避免日志过大
# 代理核心配置
location / {
# 代理目标(后端服务地址)
proxy_pass http://127.0.0.1:305;
# 关键头信息配置(修复原配置语法错误)
proxy_set_header Host $host server_port; # 传递客户端请求的Host,而非固定127.0.0.1
proxy_set_header X-Real-IP $remote_addr; # 后端可获取真实客户端IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; # 传递协议(http/https)
proxy_set_header X-Forwarded-Port $server_port;
# 连接与超时优化(避免后端无响应时Nginx长期等待)
proxy_connect_timeout 30s; # 连接后端超时
proxy_send_timeout 60s; # 发送请求到后端超时
proxy_read_timeout 60s; # 等待后端响应超时
proxy_buffering on; # 启用缓冲区,提升大响应处理性能
proxy_buffer_size 16k; # 缓冲区大小(根据业务调整)
proxy_buffers 4 64k; # 缓冲区数量和大小
# 支持WebSocket(如果后端有WebSocket服务,需添加)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 传递客户端IP到后端日志(可选)
proxy_set_header REMOTE-HOST $remote_addr;
}
# 静态文件直接处理(如果根目录下有静态资源,避免代理到后端)
location ~* \.(html|css|js|jpg|jpeg|png|gif|ico|svg|woff|woff2|ttf)$ {
expires 30d; # 静态资源缓存30天,减少重复请求
add_header Cache-Control "public, max-age=2592000";
}
# 禁止访问隐藏文件(如.git、.env等,增强安全性)
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
# 错误页面配置(可选,自定义错误页面)
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
}
5.查看python进程
6.安装gunicorn 多线程启动策略
7.看结构树
gunicorn xiefanAdmin.wsgi:application --bind 0.0.0.0:8000
3. 配置多线程(可选,优化性能)[color=rgba(0, 0, 0, 0.85) !important]如果需要启用多线程,添加 --worker-class gthread 和 --threads 参数:
[color=rgba(0, 0, 0, 0.85) !important]# 示例:4个工作进程,每个进程3个线程,绑定8000端口
gunicorn xiefanAdmin.wsgi:application --bind 0.0.0.0:8000 --workers 4 --worker-class gthread --threads 3
4.进程占用解决方案
sudo lsof -i :305 # 查看占用305端口的进程
# 或
sudo netstat -tulpn | grep 305
sudo kill -9 1234 # 替换1234为实际的PID
多线程启动口令
gunicorn xiefanAdmin.wsgi:application --bind 0.0.0.0:305 --workers 4 --worker-class gthread --threads 3
nohup gunicorn xiefanAdmin.wsgi:application --bind 0.0.0.0:305 --workers 4 --worker-class gthread --threads 3 &
|