4
votes

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>
1
Here is the error "ModuleNotFoundError: No module named 'main'" something about main.py?EdKenbers
@Ed. Kenbers - I checked my code. firstly there is no main.py module in my project. secondly if the current code is working on Local as well Heroku app (which is similar to GCP) it should work on GCP as well. Also, i checked few similar questions posted here, there should be something related to proxy and port it is referring to.. but i am not able to understand where is should check as i have not mentioned any ports.akshat priyadarshan
I think you will find the awnser here: stackoverflow.com/questions/52395695/…EdKenbers
I tried as mentioned in the links but new error came. below are logs: 2020-06-20 14:54:24 default[20200620t201858] Failed to find attribute 'main' in 'Schoolwebsite.wsgi'. 2020-06-20 14:54:24 default[20200620t201858] [2020-06-20 14:54:24 +0000] [14] [INFO] Worker exiting (pid: 14) 2020-06-20 14:54:24 default[20200620t201858] [2020-06-20 14:54:24 +0000] [7] [INFO] Shutting down: Master 2020-06-20 14:54:24 default[20200620t201858] [2020-06-20 14:54:24 +0000] [7] [INFO] Reason: App failed to load.akshat priyadarshan

1 Answers

8
votes

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",]