显然我错误地认为添加子域名就像复制我现有的域名和添加 DNS A 记录一样简单。
因此,我尝试cp -r /var/www/mydomain.com/ /var/www/dev.mydomain.com
从原始域设置运行和配置子域,但现在它在我的原始域上出现“未找到 Python 应用程序”错误。
我有一个运行 Ubuntu、Nginx 和 uWSGI 的 VDS,以以下配置为 Django 提供服务;
/var/www/mydomain.com
- /conf
-- /nginx.conf
-- /uwsgi.conf
- /logs
- /src
- /venv
Nginx 设置为从以下位置读取配置/var/www/*/conf/nginx.conf
uWSGI 设置为以守护进程启动,这是我的 uwsgi.conf;
[uwsgi]
# variables
projectname = mydomain
projectdomain = mydomain.com
base = /var/www/mydomain.com
# config
plugins = python
master = true
protocol = uwsgi
env = DJANGO_SETTINGS_MODULE=%(projectname).settings
pythonpath = %(base)/src/%(projectname)
module = %(projectname).wsgi
#module = mydomain.wsgi
#module = mydomain.wsgi:application
#socket = /tmp/%(projectdomain).sock
socket = 127.0.0.1:8889
logto = %(base)/logs/uwsgi.log
# below line runs as a daemon in background
daemonize = /var/log/uwsgi/mydomain.log
我已经将我的uwsgi 域日志如果有帮助的话
我对 uwsgi/nginx 还不熟悉(如果你还没猜到的话!)所以有人可以针对我的问题提供建议吗,或者我可以提供更多细节吗?
答案1
我在这里犯的错误是错误地重命名了 Django 项目中的模块。
我改为mydomain.mydomain
这样mydomain.myd
,然后 uWSGI 正在寻找一个名为的模块mydomain.mydomain
,然后是wsgi.py
文件,而不是mydomain.myd.wsgi
它所在的位置。