meolu / walle-web

walle - 瓦力 Devops开源项目代码部署平台
https://walle-web.io
Apache License 2.0
11.85k stars 2.76k forks source link

walle一定要用Nginx? #916

Open jkzhao opened 5 years ago

jkzhao commented 5 years ago

为什么官方文档里要求安装Nginx 官方文档里要求安装Nginx,而且我看到有个配置是:

location / {
        try_files $uri $uri/ /index.html;
        add_header access-control-allow-origin *;
        root /walle-web/fe; # 前端代码已集成到walle-web,即walle-web/fe的绝对路径
    }

这不是意味着Nginx一定要和walle在一台服务器么?现实生产环境下,Nginx也不一定是和upstream服务器在一台机器的,我修改了 walle/config/settings_prod.py 文件,里面使用了ip地址

class ProdConfig(Config):
    """Production configuration."""
    ENV = 'prod'
    DEBUG = False
    SQLALCHEMY_ECHO = False

    # 服务启动 @TODO
    # HOST 修改为与 nginx server_name 一致.
    # 后续在web hooks与通知中用到此域名.
    HOST = '172.16.206.32'
    PORT = 5000

然后我在浏览器使用 ip:port 访问,出现如下:

3

walle首页地址是什么?官方文档里没有。。。

ZouHongxue commented 5 years ago

使用nginx主要是因为做了后端请求的转发。 首页地址直接请求nginx即可。 大概流程:nginx会找到前端代码,而前端代码中发送带有 /api 的请求到后端, nginx将这部分请求代理到配置的服务器。 所以你访问的ip:port正常返回说明后端服务启动正常。如果想要nginx和后端服务分离,只需要在nginx上配置对 /api 这类请求的目标机器代理即可。

jkzhao commented 5 years ago

是否可以划去nginx部分的内容,直接使用ip:port方式访问,这些部署上线系统在内网中不一定要用域名的。

zhangyang-1 commented 5 years ago

请问楼主解决了吗?我发现配置ip是访问不了的。。