Django 一服务器多服务

  • 起因:在一台服务器上放了superset和自己的站点,但是之对外开放了80端口

两个服务在nginx上被代理到不同的站点,以【域名/站点标识】进行区分

       listen       80;
       server_name  hostname;
       #charset koi8-r;
       #access_log  logs/host.access.log  main;
       #^~ ^/web/(.*)$
       location / {
           proxy_pass http://127.0.0.1:81/;#访问81端口的站点
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
       location /web/ {
           proxy_pass http://127.0.0.1:8080/web/;#访问8080端口的站点
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }

superset是实在不知道怎么改才能修改它自己的url规则,所以就把【无站点标识】给了它
下面看django部分的修改

网上查改admin.site.site_url='网站标识',但是效果不是很好,改的比较乱,然后选择手动添加
从项目settings开始
STATIC_URL = 'web_标识/static/'
如果用了django自己的auth系统,修改认证页地址
LOGIN_URL = '/web_标识/adminlogin'
LOGOUT_URL = '/web_标识/adminlogout'
再修改项目下的urls
path('web_标识/', include('web_source.urls')),
path('web_标识/admin', admin.site.urls),
再到对应APP下的urls

这么一规搂,好像没有什么太多需要修改的地方

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容