全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Nginx 多站点配置实例详解

Nginx 多站点配置实例详解

在一台 VPS 上,我们有时候需要同时跑几个 virtualenv。比如 virtualenv app1 跑的是 Django 的一个应用,而 virtualenv app2 跑的是 Tornado。那么如何配置 Nginx,让它同时支持这两个 virtualenv 的运行呢?

首先是 Nginx 的主配置,位于 etc/nginx/ngnix.conf,让它保持默认就行:

user nginx;
worker_processes 1;

error_log /var/log/nginx/error.log warn;
pid    /var/run/nginx.pid;


events {
  worker_connections 1024;
}


http {
  include    /etc/nginx/mime.types;
  default_type application/octet-stream;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  access_log /var/log/nginx/access.log main;

  sendfile    on;
  #tcp_nopush   on;

  keepalive_timeout 65;

  #gzip on;

  server {
    listen    80;
    server_name 112.124.7.216;
    #server_name localhost;
    #if ($host != 'www.nowamagic.net' ) { 
    #  rewrite ^/(.*)$ http://www.nowamagic.net/$1 permanent; 
    #} 

    access_log /home/nowamagic/logs/access.log;
    error_log /home/nowamagic/logs/error.log;

    #root     /root/nowamagic_venv/nowamagic_pj;
    location / {
      uwsgi_pass 127.0.0.1:8077;
      #include uwsgi_params;
      include /etc/nginx/uwsgi_params;
      #uwsgi_pass 127.0.0.1:8077;
      #uwsgi_param UWSGI_SCRIPT index;
      #uwsgi_param UWSGI_PYHOME $document_root;
      #uwsgi_param UWSGI_CHDIR $document_root;
    }

    location ~ \.php$ { 
      #root     html; 
      root      /var/www/html;
      fastcgi_pass  127.0.0.1:9000; 
      fastcgi_index index.php; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
      include    fastcgi_params; 
    }

    access_log off;
  }


  include /etc/nginx/conf.d/*.conf;
}

注意到这一句,include /etc/nginx/conf.d/*.conf; 它会加载 conf.d 文件夹下的所有配置文件。那么接下来的事情就简单了,我们设计两个 .conf ,一个是 django 的配置,一个是 tornado 的配置。

1. app1_django.conf

server {
  listen    80;
  server_name 112.124.7.216;
  #server_name localhost;
  #if ($host != 'www.imofa.net' ) { 
  #  rewrite ^/(.*)$ http://www.imofa.net/$1 permanent; 
  #} 

  access_log /home/nowamagic/logs/access.log;
  error_log /home/nowamagic/logs/error.log;

  #root     /root/nowamagic_venv/nowamagic_pj;
  location / {
    uwsgi_pass 127.0.0.1:8077;
    #include uwsgi_params;
    include /etc/nginx/uwsgi_params;
    #uwsgi_pass 127.0.0.1:8077;
    #uwsgi_param UWSGI_SCRIPT index;
    #uwsgi_param UWSGI_PYHOME $document_root;
    #uwsgi_param UWSGI_CHDIR $document_root;
  }

  location ~ \.php$ { 
    #root     html; 
    root      /var/www/html;
    fastcgi_pass  127.0.0.1:9000; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include    fastcgi_params; 
  }

  access_log off;
}

下面是 tornado 的配置:

2. app2_tornado.conf

upstream tornado {
  server 127.0.0.1:8888;
}
 
server {
  listen  80;
  root /root/nmapp2_venv;
  index index.py index.html;
 
  server_name server;
 
  location / {
    #if (!-e $request_filename) {
    #  rewrite ^/(.*)$ /index.py/$1 last;
    #}
  }
 
  location ~ /index\.py {
    proxy_pass_header Server;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Scheme $scheme;
    proxy_pass http://tornado;
  }
}

重启 Nginx:

service nginx restart

OK,两个虚拟环境的 app 都能访问了。

感谢阅读,希望能帮助到大家,谢谢大家,对本站的支持!


# Nginx多站点配置  # Nginx多站点配置实例  # Nginx如何实现多站点配置  # nginx 多站点配置方法集合  # 详解Nginx配置多站点需要踩的坑  # Nginx 的多站点配置方案  # Nginx+Tomcat多站点部署的方法  # docker Nginx PHP-FPM单机多站点布署的方法  # Nginx环境下WordPress的多站点功能配置详解  # Nginx多ip部署多站点的实现步骤  # 的是  # 让它  # 几个  # 这一  # 都能  # 一台  # 这两个  # 就行  # 希望能  # 注意到  # 谢谢大家  # 重启  # 它会  # 配置文件  # 加载  # remote_user  # main  # remote_addr  # types  # default_type 


相关文章: 成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  南平网站制作公司,2025年南平市事业单位报名时间?  如何在Windows服务器上快速搭建网站?  高防服务器:AI智能防御DDoS攻击与数据安全保障  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  c# 在ASP.NET Core中管理和取消后台任务  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  宝塔新建站点报错如何解决?  建站主机是什么?如何选择适合的建站主机?  如何在服务器上三步完成建站并提升流量?  常州自助建站工具推荐:低成本搭建与模板选择技巧  实惠建站价格推荐:2025年高性价比自助建站套餐解析  如何用景安虚拟主机手机版绑定域名建站?  如何通过智能用户系统一键生成高效建站方案?  在线制作视频的网站有哪些,电脑如何制作视频短片?  专业公司网站制作公司,用什么语言做企业网站比较好?  无锡营销型网站制作公司,无锡网选车牌流程?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何配置FTP站点权限与安全设置?  如何快速生成可下载的建站源码工具?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  威客平台建站流程解析:高效搭建教程与设计优化方案  建站主机无法访问?如何排查域名与服务器问题  香港网站服务器数量如何影响SEO优化效果?  学校建站服务器如何选型才能满足性能需求?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  家庭建站与云服务器建站,如何选择更优?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  如何打造高效商业网站?建站目的决定转化率  Swift中swift中的switch 语句  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  广德云建站网站建设方案与建站流程优化指南  建站之星如何实现五合一智能建站与营销推广?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  PHP 500报错的快速解决方法  如何快速搭建FTP站点实现文件共享?  如何在IIS服务器上快速部署高效网站?  如何在万网开始建站?分步指南解析  如何快速启动建站代理加盟业务?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。