Django 项目部署 nginx + uwsgi + Miniconda
Django 项目部署 nginx + uwsgi + Miniconda
https://blog.youkuaiyun.com/Sober_Trunk/article/details/124076725 继上一篇文章,对同一个域名部署多个Django 项目进行进一步说明,所有的配置都与上一篇文章一致。
说明
- 第一个项目的路径:/data/wwwroot/managesystem
- 第一个项目的静态文件路径:/data/wwwroot/managesystem/static
- 第二个项目的路径:/data/wwwroot/InspectLabe
- 第二个项目的静态文件路径:/data/wwwroot/InspectLabe/static
1 配置uwsgi
配置uwsgi,在项目根目录下(manage.py同层目录),新建uwsgi.ini
第一个项目的uwsgi.ini
# mysite_uwsgi.ini file
[uwsgi]
# Django-related settings
# 项目根目录的路径
chdir = /data/wwwroot/managesystem
# Django's wsgi file
wsgi-file = managesystem/wsgi.py
#module = wtp_02.wsgi:application
# uwsgi服务器的角色
master=True
# 进程7数
processes=4
# 线程数
threads=2
# 存放进程编号的文件
pidfile= uwsgi.pid
# the socket (use the full path to be safe
socket=0.0.0.0:8082
#http = 127.0.0.1:8002
#stats = 127.0.0.1:9191
# ... with appropriate permissions - may be needed
#chmod-socket = 664
# clear environment on exit
vacuum = true
# 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。我们以前的runserver是依赖终端的
daemonize=uwsgi.log
# 虚拟环境的目录
virtualenv = /usr/local/miniconda3/envs/ky
第二个项目的uwsgi.ini
# mysite_uwsgi.ini file
[uwsgi]
# Django-related settings
# 项目根目录的路径
chdir = /data/wwwroot/InspectLabel
# Django's wsgi file
wsgi-file = InspectLabel/wsgi.py
#module = wtp_02.wsgi:application
# uwsgi服务器的角色
master=True
# 进程7数
processes=4
# 线程数
threads=2
# 存放进程编号的文件
pidfile= uwsgi.pid
# the socket (use the full path to be safe
socket=0.0.0.0:8100
#http = 127.0.0.1:8100
#stats = 127.0.0.1:9191
# ... with appropriate permissions - may be needed
#chmod-socket = 664
# clear environment on exit
vacuum = true
# 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。我们以前的runserver是依赖终端的
daemonize=uwsgi.log
# 虚拟环境的目录
virtualenv = /usr/local/miniconda3/envs/bz
2 配置nginx
#user root;
#worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 8002; #监听端口号;各项目之间监听端口号不能一样,可以自行设置
# 这里可以填写你的ip地址或者域名
server_name *.*.*.*;
location / {
# 将nginx所有请求转到uwsgi
include uwsgi_params;
# uwsgi的ip与端口,末尾的端口号要与项目的uwsgi.ini文件的socket端口号保持一致
uwsgi_pass 127.0.0.1:8082;
}
location /static {
# 静态文件目录
alias /data/wwwroot/managesystem/static;
#
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 8003; #监听端口号;各项目之间监听端口号不能一样,可以自行设置
# 这里可以填写你的ip地址或者域名
server_name *.*.*.*;
client_max_body_size 75M; # adjust to taste
location / {
# 将nginx所有请求转到uwsgi
include uwsgi_params;
# uwsgi的ip与端口,末尾的端口号要与项目的uwsgi.ini文件的socket端口号保持一致
uwsgi_pass 127.0.0.1:8100;
}
location /static {
# 静态文件目录
alias /data/wwwroot/InspectLabel/static;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
说明:
部署后进入项目的地址为【server_name】:【设置的端口号】
例:server_name:www.baidu.com
listen:8002
则网址为:www.baidu.com:8002
本文详细介绍了如何使用nginx和uwsgi在Miniconda环境中部署多个Django项目。配置文件 uwsgi.ini 在每个项目的根目录下创建,并分别设置了不同的配置。同时,nginx的配置也进行了相应的调整,使得不同项目可以通过指定的端口号进行访问。
5337

被折叠的 条评论
为什么被折叠?



