当前位置: 首页 > article >正文

uwsgi+nginx+django 部署学习

收集静态文件及部署配置

DEBUG = False
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]
STATIC_ROOT = '/data/static'

python3 manage.py collectstatic   收集静态文件,成功后可在STATIC_ROOT目录查看

安装依赖

pip3 install uwsgi

 django项目结构树

创建uwsgi.ini文件,用于启动django服务

vim uwsgi.ini

[uwsgi]
#套接字方式--使用nginx连接时使用
# socket=192.168.0.214:8000

#http通信方式--直接做web服务器使用
http= 192.168.79.131:8000

#配置项目目录
chdir=/data/web

#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=web/wsgi.py

# 进程数
processes=4

# 线程数
threads=2

# uwsgi做主进程
master=True

# 存放进程编号的文件
pidfile=uwsgi.pid

# 后台运行,并输出日志
daemonize=uwsgi.loguwsgi开机自启

 uwsgi常用命令,小技巧: 加命令参数  & 可以将其放到后台运行

启动项目:uwsgi --ini uwsgi.ini

重启项目:uwsgi --reload pythonDjango.pid

停止项目:uwsgi --stop pythonDjango.pid

 uwsgi --http :8001 --wsgi-file test.py   #  启动特定的文件

 测试指定端口:

curl 127.0.0.1:8000

配置uwsgi服务重启service

vim /usr/lib/systemd/system/uwsgi.service

[Unit]
Description=uwsgi-uwsgi-support
After=network.target
Before=nginx.service
 
[Service]
ExecStartPre=/bin/sleep 60
ExecStart=/usr/sbin/start-uwsgi.sh
ExecReload=/bin/kill -HUP ( ps -ep | grep uwsgi)
Type=forking
 
[Install]
WantedBy=multi-user.target

 配置start-uwsgi.sh 文件

uwsgi --ini /data/uwsgi.ini

 启动uwsgi服务

systemctl enable uwsgi.service

systemctl start uwsgi.service

 配置nginx.conf

# 负载均衡
upstream backend {
    server 127.0.0.1:8000;
}
server {
	# nginx监听8080端口
    listen 8080;
    autoindex on;
    location /static {
        alias /data/static;
    }
    location / {
        include uwsgi_params;
        uwsgi_pass backend;
    }
}

 启动指令

service nginx start     # 启动nginx

service nginx restart   # 重启nginx

sudo nginx -t           # 重新加载配置
sudo nginx -s reload

 遇到端口暂用问题解决方法

netstat -apn|grep 8000
kill -9 <pid>


http://www.kler.cn/a/272164.html

相关文章:

  • linux-FTP服务配置与应用
  • 特殊类设计
  • elementUI Table组件实现表头吸顶效果
  • 机器学习(5):支持向量机
  • 【Java数据结构】排序
  • 基于python的博客系统设计与实现
  • cache的58问,您能回答上几个
  • 课时67:流程控制_for循环_for基础
  • 万界星空科技商业开源MES,技术支持+项目合作
  • vulhub中GitLab 任意文件读取漏洞复现(CVE-2016-9086)
  • MATLAB中的cell数组和结构体。
  • 安全地使用v-html
  • 深度学习pytorch——基本运算(持续更新)
  • 微信小程序之tabBar
  • LinkedList源码解析和设计思路
  • 强大的开源网络爬虫框架Scrapy的基本介绍(入门级)
  • 在类Unix平台实现TCP客户端
  • linux ---vim的基本使用
  • 单片机第四季-第二课:uCos2源码-BSP
  • ChatGPT :确定性AI源自于确定性数据
  • UGUI界面性能优化2-最大程度降低UI的DrawCall和重绘
  • RabbitMQ——死信队列和延迟队列
  • windows安装go
  • Xcode 15.3 Archive失败
  • PC电脑如何使用HDMI连接小米电视当显示屏
  • 您能以一半的成本构建像ChatGPT这样的大型语言模型吗?