flask 子域名如何部署

2016-05-19 17:28:25 +08:00
 honmaple

flask 中有subdomain这个变量,请教 nginx 如何写才能部署子域名,虽然可以用两个 flask 应用监听两个端口实现,但能否一个应用实现多个子域名, 我找了一下,找到这个使用 uwsgi,但我没有用 uwsgi,而是gunicorn, nginx 是这样的

server {
        listen 80 ;
        server_name aaa.xxx.org;
	access_log  /var/log/nginx/docs/access.log  main;
	error_log  /var/log/nginx/docs/error.log;

                proxy_pass http://127.0.0.1:8080;
                proxy_redirect     off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}
server {
        listen 80 ;
        server_name bbb.xxx.org;
	access_log  /var/log/nginx/bbs/access.log  main;
	error_log  /var/log/nginx/bbs/error.log;

                proxy_pass http://127.0.0.1:8080;
                proxy_redirect     off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

# config.py
SERVER_NAME = 'xxx.org'

现在访问 bbb.xxx.org 会显示 aaa.xxx.org 的内容,请教这个该怎么做?

3309 次点击
所在节点    Python
9 条回复
jzp113
2016-05-19 20:08:48 +08:00
proxy_pass http://127.0.0.1:8080 地址指向改下
honmaple
2016-05-19 20:27:52 +08:00
@jzp113 改了的话就是监听两个端口了,另一个端口没有应用
dphdjy
2016-05-19 20:35:18 +08:00
blueprint
honmaple
2016-05-19 20:37:46 +08:00
@dphdjy subdomain 都是在 blueprint 注册的
likai
2016-05-19 20:57:39 +08:00
直接域名转发不好么
dphdjy
2016-05-19 21:48:02 +08:00
@honmaple 为什么给你搞这么复杂~ 没用过你那个~ 找找通配符的方法 用了 subdomain 分离就交给 py 了全部扔给 py 就好了~ 我用的是 lighttpd 就是类似的设定~
honmaple
2016-05-19 21:58:35 +08:00
@likai 什么意思?
honmaple
2016-05-19 22:03:32 +08:00
@dphdjy 现在是 url_for('static',filename='index.css')的问题,加了`SERVER_NAME='xxx.org'`,静态文件链接就成了 htttp://xxx.org/static/index.css,但是 xxx.org 我用在其他地方,并没有用在这个应用里,我认为加了 app.url_map.default_subdomain = "forums"后默认的 static 应该是 htttp://forums.xxx.org/static/index.css,结果不是
honmaple
2016-05-20 11:46:46 +08:00
ok ,在这里 https://github.com/pallets/flask/issues/1559 找到了方法,重写 static url

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/279820

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX