簡體   English   中英

在生產上部署readthedocs(nginx + gunicorn)

[英]Deploy readthedocs on production (nginx + gunicorn)

我正在嘗試將項目Read The Docs( http://docs.readthedocs.io/en/latest/install.html )部署到生產服務器上,以供我工作的公司內部使用。

我按照上面的URL進行了安裝,當我使用'python manage.py 0.0.0.0:8000'運行時,它可以正常工作,但是當我嘗試使用Nginx + Gunicorn + Supervisord進行部署時,構建沒有啟動,它保持顯示“已觸發版本最新(html)”

在發球時,我遇到了以下錯誤,但是我不知道我做錯了什么。

Read The Docs是否可以與Nginx + Gunicorn + Supervisord一起運行? 我是否必須安裝或配置celery?

提前致謝!

[09/Feb/2018 15:29:59] "GET /api/v2/project/2/ HTTP/1.1" 403 39
[09/Feb/2018 15:29:59] readthedocs.projects.tasks:159[15266]: ERROR An unhandled exception was raised during build setup
Traceback (most recent call last):
  File "/webapps/readthedocs/src/readthedocs/projects/tasks.py", line 144, in run
    self.project = self.get_project(pk)
  File "/webapps/readthedocs/src/readthedocs/projects/tasks.py", line 299, in get_project
    project_data = api_v2.project(project_pk).get()
  File "/webapps/readthedocs/rtd_env/local/lib/python2.7/site-packages/slumber/__init__.py", line 155, in get
    resp = self._request("GET", params=kwargs)
  File "/webapps/readthedocs/rtd_env/local/lib/python2.7/site-packages/slumber/__init__.py", line 101, in _request
    raise exception_class("Client Error %s: %s" % (resp.status_code, url), response=resp, content=resp.content)
HttpClientError: Client Error 403: http://localhost:8000/api/v2/project/2/
[09/Feb/2018 15:29:59] celery.app.trace:248[15266]: ERROR Task readthedocs.projects.tasks.update_docs[1cf185cd-57dd-478b-8689-bb795f26543c] raised unexpected: AttributeError("'UpdateDocsTask' object has no attribute 'setup_env'",)
Traceback (most recent call last):
  File "/webapps/readthedocs/rtd_env/local/lib/python2.7/site-packages/celery/app/trace.py", line 374, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/webapps/readthedocs/src/readthedocs/projects/tasks.py", line 163, in run
    build_id=build_pk,
AttributeError: 'UpdateDocsTask' object has no attribute 'setup_env'

每當我使用8000以外的端口時,我也會遇到相同的問題。最后我使用了8000端口。您不需要配置celery。 我建議再次檢查您的本地設置( readthedocs/settings/local_settings.py )。 特別是PRODUCTION_DOMAIN設置。

我的看起來像這樣-

PRODUCTION_DOMAIN = "mydomain.com"
SITE_ID = 2  # i have overided it from 1 to 2. 
ALLOW_PRIVATE_REPOS = True
SECRET_KEY = "some random secret key"
PUBLIC_API_URL = 'http://{0}'.format(PRODUCTION_DOMAIN)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM