Freeshell 是中国科学技术大学 Linux 用户协会(下称 LUG 或“我们”)面向中国科大在校师生提供的 Linux 虚拟专用主机(VPS)服务
走了不少弯路,发现linux没有普及开来还是有原因的……bug太尼玛多,各种包的依赖关系太多了!!!为了安一个包总要去连锁的安好几个其他包,而且系统文件夹路径改来改去,各种config又多又麻烦!
大概整理下思路。
系统是Debian 7.0 Wheezy
apt-get install apache2 python //安装apache, python apache安装好后就有最最开始的主页了!
apt-get install mysql-client mysql-server python-mysqldb //安装mysql和python-mysqldb模块
tar -zxvf Django-1.8.tar.gz //解压缩 还有一个命令:tar -jxvf xx.tar.bz2
//如果不用这两个个命令在linux系统下解压缩,则configure会不好使
cd Django-1.8
python setup.py install
apache2 启动的时候提示 :
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
修改 /etc/apache2/sites-available/default
在最顶端 加入 ServerName 127.0.0.1 就可以了
如何使Apache支持Django:
两个方式,但是mod_python已经不更新了………………官方推荐的是mod_wsgi !!!尼玛安装mod_python花了整整一个下午和一个上午,然后发现原来官方推荐mod_wsgi…………
安装arp ,apr-util,pcre,mod_wsgi
./configure –with-apxs=/usr/local/apache2/bin/apxs
make && make install
apt-get install libapache2-mod-wsgi
但是mod_wsgi也有非常闹心的bug!!!安装mod_wsgi的时候wsgi.load被作者去掉了……所以需要手动在/etc/apache2/mods-available中添加wsgi.load文件,文件内容是:LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so,然后a2enmod wsgi即可
不然就提示Invalid command ‘WSGIScriptAlias’ #这句话当做tag吧算是
然后按照下面的连接配置django和apache的httpd.conf文件
http://www.cnblogs.com/fengzheng/p/3619406.html
//连接内容同样保存在有道云笔记中
//”Linux下安装Apache并以mod_wsgi方式部署django站点”
上面的最后那里</VirtualHost> 需要另起一行,另外Django在windows下新建项目的时候,.py文件的打开方式需要是python.exe
最后service apache2 restart
撒花~\(≧▽≦)/~
然后admin界面的时候can not open database file问题
settings.py中的NAME需要是绝对路径:’NAME’: ‘/var/www/mysite/mysite.db’
而且mysite.db路径上的每个文件夹全部改成可读写的
之后需要重启apache: service apache2 restart 然后就正确了
接着就出现了admin界面没有css的情况…………解决方法如下:
Settings.py中添加:
STATIC_ROOT= ‘/var/www/mysite/’
STATICFILES_FINDERS = (
“django.contrib.staticfiles.finders.FileSystemFinder”,
“django.contrib.staticfiles.finders.AppDirectoriesFinder”,)
STATICFILES_DIRS = (
os.path.join(BASE_DIR, “static”),
‘/usr/local/lib/python2.7/dist-packages/Django-1.8-py2.7.egg/django/contrib/admin/static/’,)
mysite下新建static文件夹,然后运行python manage.py collectstatic
urls.py中添加://最后改完这里正常的
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
……
]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
然后……终于…………初始化结束!!!
PS:关于html文件使用css的方法,保存备用
html文件比较简单,先说html的修改,格式如下
{% load staticfiles %}
<link href=”{% static “contact/css/contact_form.css” %}” rel=”stylesheet” type=”text/css” />