我到处都在寻找,但是没有找到答案
我有一个应用程序,我决定在自己的子域中运行几乎所有蓝图。例如:
现在我知道我的代码可以正常工作,因为当我使用以下代码进行测试时:
python run.py
flask run
uwsgi --socket 0.0.0.0:5000 --protocol=http -w run:app
它可以很好地达到预期的结果
如果有问题,我正在使用Digital Ocean的ubuntu 16.04。在测试时,我将SERVER_NAME
设置为domain.com:5000
。但是现在,由于我想在生产环境中运行,因此将其更改为domain.com
,但仍然无法正常运行
这是我的文件:
[uwsgi]
module = run:app
master = true
processes = 5
socket = myrpoject.sock
chmod-socket = 660
vacuum = true
die-on-term = true
server {
listen 80;
server_name MY_IP domain.com www.domain.com;
location / {
include uwsgi_params;
uwsgi_pass unix:///home/gin/myproject/myproject.sock;
}
location ^~ /static/ {
include /etc/nginx/mime.types;
root /home/gin/myproject/app/;
}
}
[Unit]
Description=uWSGI instance to serve myproject
After=network.target
[Service]
User=gin
Group=www-data
WorkingDirectory=/home/gin/myproject
Environment="PATH=/home/gin/myproject/venv/bin"
ExecStart=/home/gin/myproject/venv/bin/uwsgi --ini uwsgi.ini --uid gin --gid www-data
[Install]
WantedBy=multi-user.target
最后是没有ns的我的Digitalocean小滴:
Type Hostname Value TTL (seconds)
A security.domain.com directs to MY_IP 80
A admin.domain.com directs to MY_IP 80
A api.domain.com directs to MY_IP 80
A www.domain.com directs to MY_IP 80
A domain.com directs to MY_IP 80
我尝试将www设置为CNAME,但并没有真正改变
现在使用以下配置: