我有一个运行Nginx
Gunicorn
Flask
SupervisorCtl
的网络服务器但是,在我添加了supervisorctl配置之后:
[program:websitecom]
command = gunicorn app:app -b localhost:8003
directory = /home/www/flask-deploy/websitecom
user = jd
autostart=true
autorestart=true
stderr_logfile=/var/log/standard_error_websitecom
stdout_logfile=/var/log=standard_out_websitecom
和nginx config:
server {
server_name website.com;
listen 80;
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /static {
alias /home/www/flask-deploy/websitecom/;
}
}
和app.py
的烧瓶配置:
from flask import Flask, render_template, request
app = Flask(__name__)
app.secret_key = 'asecret'
@app.route("/")
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run()
问题是,它显示了在服务器上托管的先前配置的站点,而不是新域。
有人可以帮忙吗?
谢谢。
答案 0 :(得分:0)
发生这种情况时,您需要检查一些事情。数字1,更新NGINX虚拟主机后,你运行了吗?
>>> sudo service nginx reload
>>> sudo service nginx restart
如果这不是问题,您需要做的下一件事就是删除所有可能告诉您的浏览器指向您的IP地址错误的域的缓存,多个虚拟主机共享相同的IP。
您还可以检查以确保您的virtualhost已添加到您的sites_enabled文件夹和您的网站可用文件夹中。
最后,如果这不是NGINX配置不正确,那么如果正确设置了另一个应用程序,第一个正确配置的站点将显示在您的域中。例如,如果你的网站运行良好...你添加了网站2并进入网址查看,但不是网站2出现,你得到网站1可能是网站2没有正确配置,默认为website1。
答案 1 :(得分:0)
我注意到你的Nginx服务器块正在代理端口8000:
proxy_pass http://localhost:8000;
虽然您的Flask应用程序在端口8003上运行:
command = gunicorn app:app -b localhost:8003
我说你还有一个在端口8000上运行的Flask应用程序,这是显示的内容吗?