nginx 同时监听uwsgi服务器两个端口,实现一个服务器运行多个项目

nginx.conf 配置文件

#user  nobody;
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       80;
        server_name  第一个域名;


        location / {
            # 将nginx所有请求转到uwsgi
            include uwsgi_params;
            # uwsgi的ip与端口
            uwsgi_pass 127.0.0.1:3309;
        }

        location /static {
            # 静态文件目录
            alias /home/XXXXX(静态文件目录);
        }   

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

    server {
        listen       80;
        server_name  第二个域名;

        location / {
            # 将nginx所有请求转到uwsgi
            include uwsgi_params;
            # uwsgi的ip与端口,此时换一个wsgi的端口号3308,通过域名+端口号的形式访问
            uwsgi_pass 127.0.0.1:3308;
        }

        location /static {
        # 静态文件目录
            alias /home/XXXXX(静态文件目录);
        }   

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }


}

nginx 关闭 开启 重载

sudo ./nginx -s stop 
sudo ./nginx
sudo ./nginx -s reload

uwsgi.ini配置文件

[uwsgi]
# 配置nginx
socket = 127.0.0.1:3309
# 如果是配置第二个项目,改一下uwsgi的端口号即可
# socket = 127.0.0.1:3308
# 配置项目目录
chdir = /home/XXXXX(项目目录)
# 配置入口模块
wsgi-file = 项目名/wsgi.py
# 开启master, 将会多开一个管理进程, 管理其他服务进程
master = True
# 服务器开启的进程数量
processes = 2
# 服务器进程开启的线程数量
threads = 4
# 以守护进程方式提供服, 输出信息将会打印到log中
daemonize = wsgi.log
# 退出的时候清空环境变量
vacuum = true
# 进程pid
pidfile=uwsgi.pid

uwsgi 关闭 开启

sudo uwsgi --stop uwsgi.pid 
sudo uwsgi --ini uwsgi.ini
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在nginxuwsgi上部署多个Django HTTPS服务,需要遵循以下步骤: 1. 在服务器上安装并配置nginxuwsgi。 2. 在Django项目中创建uwsgi配置文件,例如`uwsgi.ini`。 3. 在`uwsgi.ini`中配置uwsgi服务器,包括端口号、进程数量等。 4. 在nginx配置文件中添加HTTPS服务器块,包括服务器名称、SSL证书路径和uwsgi代理设置。 5. 重启nginxuwsgi服务器以使配置生效。 以下是一个示例nginx配置文件: ``` server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8000; # uwsgi服务器监听端口uwsgi_param UWSGI_SCRIPT project.wsgi:application; #uwsgi配置文件中的应用程序路径 uwsgi_param UWSGI_CHDIR /path/to/project; #Django项目的根目录 } } server { listen 443 ssl; server_name example2.com; ssl_certificate /path/to/cert2.pem; ssl_certificate_key /path/to/key2.pem; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8001; # uwsgi服务器监听端口uwsgi_param UWSGI_SCRIPT project2.wsgi:application; #uwsgi配置文件中的应用程序路径 uwsgi_param UWSGI_CHDIR /path/to/project2; #Django项目的根目录 } } ``` 请注意,在这个例子中,我们在同一台服务器上部署了两个Django项目,每个项目都有自己的SSL证书。我们使用不同的端口号来监听uwsgi服务器,并在nginx配置文件中针对每个项目创建一个HTTPS服务器块。在每个HTTPS服务器块中,我们将uwsgi代理设置为与uwsgi服务器监听端口号相对应的端口号。 希望这可以帮助你部署多个Django HTTPS服务。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值