Saya memiliki server web yang menjalankan Nginx Gunicorn Flask SupervisorCtl namun, setelah saya menambahkan konfigurasi 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

Dan konfigurasi nginx:

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/;
   }
}

Dan konfigurasi labu untuk app.py dari:

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()

Masalahnya adalah, ini menunjukkan situs yang dikonfigurasi sebelumnya yang dihosting di server, bukan domain baru.

Dapatkah seseorang tolong bantu?

Terima kasih.

0
John 19 Agustus 2017, 00:02

2 jawaban

Jawaban Terbaik

Anda perlu memeriksa beberapa hal ketika ini terjadi. Nomor 1, setelah memperbarui host virtual NGINX Anda, apakah Anda menjalankannya?

>>> sudo service nginx reload 
>>> sudo service nginx restart

Jika ini bukan masalahnya, hal berikutnya yang perlu Anda lakukan adalah menghapus semua cache yang dapat memberi tahu browser Anda untuk menunjuk ke domain yang salah untuk alamat IP Anda, beberapa host virtual berbagi IP yang sama.

Anda juga dapat memeriksa untuk memastikan virtualhost Anda ditambahkan ke folder sites_enabled dan folder sites-available Anda.

Terakhir, jika itu tidak berhasil daripada jika NGINX tidak dikonfigurasi dengan benar, situs pertama yang dikonfigurasi dengan benar akan muncul untuk domain Anda yang bersangkutan jika aplikasi lain disiapkan dengan benar. Misalnya, jika Anda memiliki situs web1 yang berfungsi dengan baik ... Anda menambahkan situs web2 dan pergi untuk melihat di url tetapi alih-alih situs web2 muncul, Anda mendapatkan situs web1 mungkin saja situs web2 tidak dikonfigurasi dengan benar, yang defaultnya adalah situs web1.

0
Chris Hawkes 18 Agustus 2017, 21:07

Saya perhatikan bahwa blok server Nginx Anda diproksi ke port 8000:

proxy_pass http://localhost:8000;

Saat aplikasi Flask Anda berjalan pada port 8003:

command = gunicorn app:app -b localhost:8003

Saya akan mengatakan Anda juga memiliki aplikasi Flask yang berjalan pada port 8000 dan ini yang ditampilkan?

0
Matt Healy 19 Agustus 2017, 00:29