Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Nginx 502 Bad gateway - gcp

I am trying to deploy my Django website on google cloud using tutorial (https://cloud.google.com/python/django/appengine#cloud-console) My website is working smoothly on local host as well on Heroku (Free). But when i try to deploy my website on GCP, deployment finishes without any error. But access to website using the link provided by GCP gives mei 'nginx 502 Bad Gateway' error.

I assume, error is because its listening to 'http://0.0.0.0:8081'. Can anyone please help.

Below are my logs:

Traceback from GCP website.

2020-06-20 12:02:57.759 IST
Traceback (most recent call last): File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker worker.init_process() File "/env/lib/python3.7/site-packages/gunicorn/workers/gthread.py", line 92, in init_process super().init_process() File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 119, in init_process self.load_wsgi() File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi self.wsgi = self.app.wsgi() File "/env/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi self.callable = self.load() File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load return self.load_wsgiapp() File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp return util.import_app(self.app_uri) File "/env/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app mod = importlib.import_module(module) File "/opt/python3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked ModuleNotFoundError: No module named 'main'
Expand all | Collapse all{
 insertId: "5eedad99000b96b31054c1f8"  
 labels: {
  clone_id: "00c61b117ceed98b6a28aa8b70411a0a5acbb82696fd9c6894b1680eeaf75adfbafe66"   
 }
 logName: "projects/school-website-272007/logs/stderr"  
 receiveTimestamp: "2020-06-20T06:32:57.952414554Z"  
 resource: {
  labels: {
   module_id: "default"    
   project_id: "school-website-272007"    
   version_id: "20200620t115649"    
   zone: "asia-south1-2"    
  }
  type: "gae_app"   
 }
 textPayload: "Traceback (most recent call last):
  File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/env/lib/python3.7/site-packages/gunicorn/workers/gthread.py", line 92, in init_process
    super().init_process()
  File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 119, in init_process
    self.load_wsgi()
  File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/env/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
    return self.load_wsgiapp()
  File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/env/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app
    mod = importlib.import_module(module)
  File "/opt/python3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'main'"  
 timestamp: "2020-06-20T06:32:57.759475Z"  
}

After GCP deploy and 'gcloud app logs tail -s default' generates log as below.

2020-06-20 06:51:07 default[20200620t115649]  Traceback (most recent call last):    File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker      worker.init_process()    File "/env/lib/python3.7/site-p
ackages/gunicorn/workers/gthread.py", line 92, in init_process      super().init_process()    File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 119, in init_process      self.load_wsgi()    File "/env/lib/python
3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi      self.wsgi = self.app.wsgi()    File "/env/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi      self.callable = self.load()    File "/env/li
b/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load      return self.load_wsgiapp()    File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp      return util.import_app(self.app_u
ri)    File "/env/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app      mod = importlib.import_module(module)    File "/opt/python3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module      return
 _bootstrap._gcd_import(name[level:], package, level)    File "<frozen importlib._bootstrap>", line 1006, in _gcd_import    File "<frozen importlib._bootstrap>", line 983, in _find_and_load    File "<frozen importlib._bootstrap>", l
ine 965, in _find_and_load_unlocked  ModuleNotFoundError: No module named 'main'
2020-06-20 06:51:07 default[20200620t115649]  [2020-06-20 06:51:07 +0000] [21] [INFO] Worker exiting (pid: 21)
2020-06-20 06:51:07 default[20200620t115649]  [2020-06-20 06:51:07 +0000] [7] [INFO] Shutting down: Master
2020-06-20 06:51:07 default[20200620t115649]  [2020-06-20 06:51:07 +0000] [7] [INFO] Reason: Worker failed to boot.
2020-06-20 06:51:08 default[20200620t115649]  "GET /favicon.ico HTTP/1.1" 502
2020-06-20 06:51:09 default[20200620t115649]  [2020-06-20 06:51:09 +0000] [7] [INFO] Starting gunicorn 20.0.4
2020-06-20 06:51:09 default[20200620t115649]  [2020-06-20 06:51:09 +0000] [7] [INFO] Listening at: http://0.0.0.0:8081 (7)
2020-06-20 06:51:09 default[20200620t115649]  [2020-06-20 06:51:09 +0000] [7] [INFO] Using worker: threads
2020-06-20 06:51:09 default[20200620t115649]  [2020-06-20 06:51:09 +0000] [18] [INFO] Booting worker with pid: 18
2020-06-20 06:51:09 default[20200620t115649]  [2020-06-20 06:51:09 +0000] [18] [ERROR] Exception in worker process
2020-06-20 06:51:09 default[20200620t115649]  Traceback (most recent call last):    File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker      worker.init_process()    File "/env/lib/python3.7/site-p
ackages/gunicorn/workers/gthread.py", line 92, in init_process      super().init_process()    File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 119, in init_process      self.load_wsgi()    File "/env/lib/python
3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi      self.wsgi = self.app.wsgi()    File "/env/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi      self.callable = self.load()    File "/env/li
b/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load      return self.load_wsgiapp()    File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp      return util.import_app(self.app_u
ri)    File "/env/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app      mod = importlib.import_module(module)    File "/opt/python3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module      return
 _bootstrap._gcd_import(name[level:], package, level)    File "<frozen importlib._bootstrap>", line 1006, in _gcd_import    File "<frozen importlib._bootstrap>", line 983, in _find_and_load    File "<frozen importlib._bootstrap>", l
ine 965, in _find_and_load_unlocked  ModuleNotFoundError: No module named 'main'
2020-06-20 06:51:09 default[20200620t115649]  [2020-06-20 06:51:09 +0000] [18] [INFO] Worker exiting (pid: 18)
2020-06-20 06:51:09 default[20200620t115649]  [2020-06-20 06:51:09 +0000] [22] [INFO] Booting worker with pid: 22
2020-06-20 06:51:09 default[20200620t115649]  [2020-06-20 06:51:09 +0000] [22] [ERROR] Exception in worker process
2020-06-20 06:51:09 default[20200620t115649]  Traceback (most recent call last):    File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker      worker.init_process()    File "/env/lib/python3.7/site-p
ackages/gunicorn/workers/gthread.py", line 92, in init_process      super().init_process()    File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 119, in init_process      self.load_wsgi()    File "/env/lib/python
3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi      self.wsgi = self.app.wsgi()    File "/env/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi      self.callable = self.load()    File "/env/li
b/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load      return self.load_wsgiapp()    File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp      return util.import_app(self.app_u
ri)    File "/env/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app      mod = importlib.import_module(module)    File "/opt/python3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module      return
 _bootstrap._gcd_import(name[level:], package, level)    File "<frozen importlib._bootstrap>", line 1006, in _gcd_import    File "<frozen importlib._bootstrap>", line 983, in _find_and_load    File "<frozen importlib._bootstrap>", l
ine 965, in _find_and_load_unlocked  ModuleNotFoundError: No module named 'main'
2020-06-20 06:51:09 default[20200620t115649]  [2020-06-20 06:51:09 +0000] [22] [INFO] Worker exiting (pid: 22)
2020-06-20 06:51:09 default[20200620t115649]  Traceback (most recent call last):    File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 209, in run      self.sleep()    File "/env/lib/python3.7/site-packages/gunicorn/a
rbiter.py", line 357, in sleep      ready = select.select([self.PIPE[0]], [], [], 1.0)    File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 242, in handle_chld      self.reap_workers()    File "/env/lib/python3.7/sit
e-packages/gunicorn/arbiter.py", line 525, in reap_workers      raise HaltServer(reason, self.WORKER_BOOT_ERROR)  gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
2020-06-20 06:51:09 default[20200620t115649]
2020-06-20 06:51:09 default[20200620t115649]  During handling of the above exception, another exception occurred:
2020-06-20 06:51:09 default[20200620t115649]
2020-06-20 06:51:09 default[20200620t115649]  Traceback (most recent call last):    File "/env/bin/gunicorn", line 10, in <module>      sys.exit(run())    File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 58, in
run      WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()    File "/env/lib/python3.7/site-packages/gunicorn/app/base.py", line 228, in run      super().run()    File "/env/lib/python3.7/site-packages/gunicorn/app/base.py",
line 72, in run      Arbiter(self).run()    File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 229, in run      self.halt(reason=inst.reason, exit_status=inst.exit_status)    File "/env/lib/python3.7/site-packages/gun
icorn/arbiter.py", line 342, in halt      self.stop()    File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 393, in stop      time.sleep(0.1)    File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 242, i
n handle_chld      self.reap_workers()    File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 525, in reap_workers      raise HaltServer(reason, self.WORKER_BOOT_ERROR)  gunicorn.errors.HaltServer: <HaltServer 'Worker
failed to boot.' 3>
like image 325
akshat priyadarshan Avatar asked Jan 25 '23 23:01

akshat priyadarshan


1 Answers

Thanks to Ed. Kenbers, I have fixed my issue. Below are the steps to rectify the issue.

  1. Create a file main.py in root directory where app.yaml is present and add as below:

    from <your app name>.wsgi import application
    app = application
    
  2. In app.yaml file add below line:

    entrypoint: gunicorn -b :$PORT <your app name>.wsgi
    
  3. In setttings.py file, in ALLOWED HOSTS add your GCP website link which comes once you deploy the application like 'Deployed service [default] to [https://< your project name >.el.r.appspot.com]'

    ALLOWED_HOSTS = ["< your project name >.el.r.appspot.com",]
    
like image 63
akshat priyadarshan Avatar answered Jan 31 '23 05:01

akshat priyadarshan