Hi, 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>
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Hi there,
I just came accross this quesiton.
What I could suggest for Django is to follow the steps here on how to Set Up Django with Nginx, and Gunicorn:
https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04
Regarding the 502 error, this means that your backend service is not running so Nginx is failing to connect to the backend, for more information on how to troubleshoot the 502 error, I could suggest following the steps from this answer here:
https://www.digitalocean.com/community/questions/502-bad-gateway-nginx-2
Regards, Bobby