最近写了个 懒癌版淘宝客网站,尝试部署了一下,没想到真的是 “开发一时爽,部署火葬场”。
现象
apache+mod_wsgi 部署 django,浏览器尝试进入,十分钟首页都出不来,curl 也是如此。但是同台服务器上的 php 网站却很溜。
解决
确定是不是代码的问题: 使用 manage.py runserver
,正常。
防火墙什么的肯定都开了啊,从来不知道防火墙是个什么样的存在。
搜索了半天,最后发现 这个帖子:网站里面是不是拿 Python 调用了 C?比如 Numpy 什么的?
对啊,为了做数据导入,懒癌一般地使用了 Pandas 和 Numpy…… 看看,被坑到了把?
解决办法是在 apache 的 site conf 里面加入 WSGIApplicationGroup %{GLOBAL}
。
结束
毕设的网站也是部署失败里面用了各种 Numpy、Scikit-Image、Scikit-Learn、DLib……
最后拿 manage.py runserver
+apache 反代临时解决的。
最后一个广告:欢迎 来这里买买买。
附件:一个 Django 的部署 demo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<VirtualHost *:80> #ServerName buy.buy.buy #ServerAdmin buy@buy.buy Alias /static /var/www/Canteen/static <Directory /var/www/Canteen/static> Options FollowSymLinks Require all granted </Directory> #Alias /media /var/www/Canteen/media #<Directory /var/www/Canteen/media> # Require all granted #</Directory> #Alias /.well-known /var/www/Canteen/.well-known #<Directory /var/www/Canteen/.well-known> # Options FollowSymLinks # Require all granted #</Directory> WSGIApplicationGroup %{GLOBAL} WSGIScriptAlias / /var/www/Canteen/Canteen/wsgi.py WSGIDaemonProcess buy.buy.buy python-path=/var/www/Canteen WSGIProcessGroup buy.buy.buy <Directory /var/www/Canteen/Canteen> <Files wsgi.py> Require all granted </Files> </Directory> </VirtualHost> |