我正在使用Apache和mod_wsgi在服务器上部署django应用程序。我正在使用wsgi的守护程序模式在服务器上运行django应用程序。
现在,我的目标是可以在同一服务器上拥有django应用程序的两个或多个版本(每个版本都有自己的设置,数据库等)。例如:
https://test-server.com/
https://test-server.com/dev
我已经更新了位于/ etc / apache2 / sites-available的apache配置文件。 这是我的配置文件:-
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin xyz@gmail.com
ServerName test-server.com
ServerAlias www.test-server.com
#DocumentRoot /var/www/html
Alias /static /var/www/html/Smart_chat_share/smart_chat_share/static // This should accesible via https://test-server.com/ which is working
<Directory /var/www/html/Smart_chat_share/smart_chat_share/static>
Require all granted
</Directory>
WSGIDaemonProcess smart_chat_share python-home=/var/www/html/Smart_chat_share/smart_chat_share/virtual_env python-path=/var/www/html/Smart_chat_share/smart_chat_share
WSGIProcessGroup smart_chat_share
WSGIScriptAlias / /var/www/html/Smart_chat_share/smart_chat_share/smart_chat_share/wsgi.py process-group=smart_chat_share application-group=%{GLOBAL}
<Directory /var/www/html/Smart_chat_share/smart_chat_share/smart_chat_share>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Alias /dev/static /var/www/html/dev/smart_chat_share/static // This should accesible via https://test-server.com/dev which is not working.
<Directory /var/www/html/dev/smart_chat_share/static>
Require all granted
</Directory>
WSGIDaemonProcess dev python-home=/var/www/html/dev/smart_chat_share/virtual_env python-path=/var/www/html/dev/smart_chat_share
WSGIProcessGroup dev
WSGIScriptAlias /dev /var/www/html/dev/smart_chat_share/smart_chat_share/wsgi.py process-group=smart_chat_share application-group=%{GLOBAL}
<Directory /var/www/html/dev/smart_chat_share/smart_chat_share>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/letsencrypt/live/scss.identixweb.com/fullchain.pem
SSLCertificateKeyFile
/etc/letsencrypt/live/scss.identixweb.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
https://test-server.com/这是工作版本,但是https://test-server.com/dev这是第二个版本,我无法访问和测试。关于Apache配置,我经常迷路。非常感谢您的帮助。 非常感谢!
答案 0 :(得分:0)
以防万一有人遇到这个问题,这是我的答案。我只是通过重新排序文件中django应用程序的配置来解决它。确保首先出现子目录,然后进行一个应用程序配置的根目录。
此文档非常有用:- http://blog.dscpl.com.au/2012/10/requests-running-in-wrong-django.html