坐着搞了一天,人都快搞抑郁了...求各位有经验的给支个招~ 问题描述 服务器:阿里云 ECS 服务器 服务器系统:Ubuntu 16.04 64 位 域名:备案 ing(访问时是使用 ip 地址去访问服务器,所以应该和域名无关)
在初次安装好 Nginx 后可以使用 id 地址访问到 欢迎页面, 但是在配置完 nginx 之后出现 502 Bad Gateway
这是第一个问题,查了很多文档 都试了一下没解决
第二个问题:跳过页面 502 访问问题继续部署的时候,在部署 Gunicorn 的时候输入
gunicorn --bind unix:/tmp/www.xxx.com.socket blog.wsgi:application 执行代码路径是在项目路径 也就是 blog 路径下执行的,www.xxx.com 是父级路径 报错了,报错信息是:
[2018-09-02 23:12:26 +0800] [1133] [INFO] Starting gunicorn 19.9.0
[2018-09-02 23:12:26 +0800] [1133] [INFO] Listening at: unix:/tmp/www.xxx.com.socket (1133)
[2018-09-02 23:12:26 +0800] [1133] [INFO] Using worker: sync
[2018-09-02 23:12:26 +0800] [1136] [INFO] Booting worker with pid: 1136
[2018-09-02 23:12:26 +0800] [1136] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
worker.init_process()
File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/workers/base.py", line 129, in init_process
self.load_wsgi()
File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
self.wsgi = self.app.wsgi()
File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
return self.load_wsgiapp()
File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
return util.import_app(self.app_uri)
File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/util.py", line 350, in import_app
__import__(module)
ImportError: No module named 'blog'
[2018-09-02 23:12:26 +0800] [1136] [INFO] Worker exiting (pid: 1136)
[2018-09-02 23:12:26 +0800] [1133] [INFO] Shutting down: Master
[2018-09-02 23:12:26 +0800] [1133] [INFO] Reason: Worker failed to boot.
第一次进行服务器部署,真的头有点大,恳请各位帮忙看下这 2 个问题是什么情况,以及如何解决,跪谢!!!
root@iZ2zeeZ:~/sites/www.xxx.xyz/godrryblog# tree -L 2
.
├── aceblog
│ ├── admin.py
│ ├── apps.py
│ ├── form.py
│ ├── __init__.py
│ ├── migrations
│ ├── models.py
│ ├── __pycache__
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── Blog
│ ├── __init__.py
│ ├── __pycache__
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── requirements.txt
├── static
│ ├── css
│ ├── fonts
│ ├── images
│ ├── js
│ └── media
├── statics
│ ├── admin
│ ├── css
│ ├── fonts
│ ├── images
│ ├── js
│ └── media
└── templates
├── blog_new
└── markdownx
21 directories, 14 files
附录一下目录结构 @lxy42
1
Ace77 OP 我甚至还格了一遍服务器重新搞了一次...
|
2
wph95 2018-09-03 00:04:54 +08:00 via iPhone
看报错信息呀 ImportError: No module named 'blog'
--- 祖传的 Django 部署文档,可以一试 https://github.com/WPH95/Django_memo/blob/master/django 部署指南.md |
3
lxy42 2018-09-03 00:09:13 +08:00 via Android
|
6
lxy42 2018-09-03 09:07:08 +08:00
502 Bad Gateway 是因为 Gunicorn 启动失败,Nginx 无法访问到后端服务器( Gunicorn )然后报错。
模块不用自己设置,项目的目录结构是怎样的,贴上来看看。 |
7
sujin190 2018-09-03 10:27:44 +08:00
502 本来就是 upstream 无法连接,显然是 Gunicorn 没启动,已经很明确了啊
既然是用 blog.wsgi:application 启动,那么显然你就必须保证当前目录下有 blog 文件夹,blog 文件夹里有 wsgi.py 文件 |
8
JasperYanky 2018-09-03 10:42:53 +08:00
|
9
Ace77 OP |
10
Ace77 OP @lxy42 不小心发出去了 全部结构是
/root/sites/www.xxx.xyz(域名)/blog(这是存放博客的目录) 同级还有一个 env 目录 / 然后再 blog 目录下就是 python 的文件了 就是 manage.py 等~ |
11
Ace77 OP |
12
Ace77 OP @JasperYanky 我好好去看一下!
|
13
lxy42 2018-09-03 14:40:31 +08:00
$ tree
. ├── blog │ ├── __init__.py │ ├── __init__.pyc │ ├── settings.py │ ├── settings.pyc │ ├── urls.py │ ├── wsgi.py │ └── wsgi.pyc └── manage.py 用 tree 命令显示目录结构 |
16
lxy42 2018-09-03 17:54:01 +08:00 1
目录结构是没问题的,你是在~/sites/www.xxx.xyz/godrryblog 目录下运行 gunicorn 吗?
|
17
Ace77 OP @lxy42 是的呀 有可能是第一次运行 gunicorn 的时候没有进入虚拟环境 后来又进入虚拟环境试了一下 也是报错了
|
19
Ace77 OP |