同一个域名部署多个Django 项目 nginx + uwsgi + Miniconda

Django 项目部署 nginx + uwsgi + Miniconda

Django 项目部署 nginx + uwsgi + Minicondahttps://blog.csdn.net/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

你可能感兴趣的:(python,django,腾讯云,centos)