最近写了个 懒癌版淘宝客网站,尝试部署了一下,没想到真的是 “开发一时爽,部署火葬场”。
现象
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
<VirtualHost *:80>
#ServerName buy.buy.buy
#ServerAdmin [email protected]
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>
发表回复