簡體   English   中英

配置uwsgi.ini文件,以便DJango項目將在Docker容器中工作

[英]Configuring a uwsgi.ini file so that a DJango project will work within a Docker container

我正在嘗試設置uwsgi.ini文件,以便它將與uwsgi.ini容器一起使用。

在Dockerfile中,我公開了端口8888。以下是與此問題相關的Dockerfile片段

Docker文件

EXPOSE 8888

ENV DOCKER_CONTAINER=1

#CMD ["uwsgi", "--ini", "/code/uwsgi.ini"]  <<< right now, this is commented out

CMD ["/bin/bash"]

上面,注釋掉了運行uwsgi.ini文件的CMD ,因為對我而言,它最初並不起作用。 我將CMD更改為“ / bin / bash”,以便可以登錄到容器的OS級別。 這樣做之后,我接着運行以下代碼:

uwsgi --http 923b235d270e:8888 --chdir=/code/backendworkproj --module=backendworkproj.wsgi:application --env DJANGO_SETTINGS_MODULE=backendworkproj.settings --master --pidfile=/tmp/backendworkproj-master.pid --socket=127.0.0.1:49152 --processes=5 --uid=1000 --gid=2000 --harakiri=20 --max-requests=5000 --vacuum  

完成后,我可以轉到機器上的端口8888並查看網站。

因此,簡而言之,一切正常。

我現在面臨的問題是將上面的命令轉換為可以在uwgsi.ini文件中使用的命令

如果您看上面命令的一部分,我使用了:

--http 923b235d270e:8888

指定端口。 923b235d270e與該容器關聯(因為127.0.0.1無法正常工作)

我該如何在uwsgi文件中正確表示此內容(以及諸如DJANGO_SETTINGS_MODULE之類的env變量),以便服務器正常工作? 以下是我擁有的.ini文件。

TIA

uwsgi.ini

[uwsgi] 
--http 923b235d270e:8888 
chdir=/code/backendworkproj 
module=backendworkproj.wsgi:application 
--env DJANGO_SETTINGS_MODULE=backendworkproj.settings 
master=True 
pidfile=/tmp/backendworkproj-master.pid 
socket=127.0.0.1:49152 
processes=5 
uid=1000 
gid=2000 
harakiri=20 
max-requests=5000 
vacuum=True

沒關系。 此配置有效。

[uwsgi]
http-socket = :8888
chdir = /code/backendworkproj
module = backendworkproj.wsgi:application
env = DJANGO_SETTINGS_MODULE=backendworkproj.settings
master = True
pidfile = /tmp/backendworkproj-master.pid
socket = 127.0.0.1:49152
processes = 5
uid = 1000
gid = 2000
harakiri = 20
max-requests = 5000
vacuum = True

暫無
暫無

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

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