如何为WSGI/Gunicorn部署的Dash应用绑定自定义域名?
解决Dash应用绑定自定义域名的问题
要把localhost绑定到自定义域名,核心要完成域名解析、反向代理配置这几个关键步骤,具体操作如下:
1. 配置域名解析
先在你的域名注册商后台,添加一条A记录,将www.mywebapp.com指向服务器的公网IP地址。解析生效后,通过ping www.mywebapp.com可以验证是否能正确指向你的服务器。
2. 调整WSGI服务器端口
之前你的WSGI服务器跑在localhost:80,要改成非80端口(比如8000),避免和后续Nginx监听的端口冲突。以Gunicorn为例,启动命令改成:
gunicorn --bind 127.0.0.1:8000 your_dash_app:server
(your_dash_app是你的Dash应用文件名,server是Dash导出的server实例)
3. 配置Nginx反向代理
打开Nginx的站点配置目录(通常是/etc/nginx/sites-available/),新建配置文件mywebapp.conf,内容如下:
server { listen 80; server_name www.mywebapp.com; # 替换成你的自定义域名 location / { proxy_pass http://127.0.0.1:8000; # 对应WSGI服务器的端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
将配置文件软链接到启用目录:
sudo ln -s /etc/nginx/sites-available/mywebapp.conf /etc/nginx/sites-enabled/
然后重启Nginx生效:
sudo systemctl restart nginx
4. 放行服务器端口
确保服务器防火墙允许80端口的入站流量,以ufw为例:
sudo ufw allow 80/tcp sudo ufw reload
完成以上步骤后,在浏览器输入www.mywebapp.com就能访问你的Dash应用了。如果访问失败,可以查看Nginx错误日志(/var/log/nginx/error.log)排查问题。
内容的提问来源于stack exchange,提问作者John Conor
相关产品推荐
相关产品推荐

