首页 > 解决方案 > 域名不适用于 Nginx(Python:Flask+Gunicorn+Nginx)

问题描述

我有一个从 Gandi 购买的域名,相关 DNS 也已设置。域名可以访问我的网站(使用XAMPP)。这说明当前域名是有效的。

~ 关于我的 API 项目 ~

项目路径为“/home/API_AIcustomerservice”

API 网址为“XXX.XXX.XXX.XXX:5062”

API的python文件名为“start_test.py”

我很确定 Gunicorn 和 Flask 是有效的。(我可以通过IP地址成功访问API url)

我使用 gconfig.py 通过命令“ gunicorn -c /home/API_AIcustomerservice/gconfig.py start_test:app”运行 Gunicorn

[gconfig.py]

from gevent import monkey
monkey.patch_all()
import multiprocessing
debug = True
loglevel = 'debug'
bind = 'XXX.XXX.XXX.XXX:5062'
pidfile = 'log/gunicorn.pid'
logfile = 'log/debug.log'
workers = multiprocessing.cpu_count() * 2 + 1
worker_class = 'gevent'

关于 Nginx 我编辑了文件:vim /etc/nginx/sites-available/default

server {
        listen 81;
        root /home/API_AIcustomerservice;
        server_name domainName www.domainName;
        location / {
            proxy_set_header x-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_pass http://XXX.XXX.XXX.XXX:5062/;
        }
        location ~ ^\/static\/.*$ {
            root /home/API_AIcustomerservice;
        }
}

编辑后,我运行sudo service nginx restart

~ 结论 ~

XXX.XXX.XXX.XXX:5062可以访问(当然)

XXX.XXX.XXX.XXX:81可以像上面一样访问(似乎 Nginx 工作)

但是DomainName:81还是www.DomainName:81无法访问

我错过了另一个设置吗?感谢您抽出宝贵时间。我从心底感谢你。

标签: pythonnginxflaskgunicorndomain-name

解决方案


检查您的域 DNS 服务器并解析 ip

nginx 配置为真

您可以测试本地解析域并再次测试它在 os 主机文件中定义 dns,例如:

xxx.xxx.xxx.xxx 域名

在窗口中:

c:\Windows\System32\Drivers\etc\hosts

在 Linux 中:

/etc/hosts

推荐阅读