折腾了快一天.终于可以访问了.
1.搭建一个Ubuntu 虚拟机.这个自备.
2.安装apache2,Django 这个也请自备.
差不多就这三条命令:
sudo apt-get install apache2 已安装
sudo apt-get install python-pip 已安装
install libapache2-mod-wsgi 已安装
这里具体说下怎么Django如何在apache2下运行.
第一步:
先准备一个Project 我的名字是 mysite
执行命令:django-admin.py startproject mysite
我的目录是这样 /var/www/mysite
第二步:创建 django.wsgi文件
在mysite 下创建,apache目录,放在apache目录下,
也就是:/var/www/mysite/apache 目录下,这个目录后面会用到.
import os
import sys
path = '/var/www/mysite'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
第三步:开始关联apache和django
cd /etc/apache2/sites-available
切换到这个目录下
新建一个文件 mysite.conf
文件内容:
<VirtualHost *:80>
#serverName 设置本机的ip地址,这样可以通过局域网访问.通过localhost和127.0.0.1,我测试发现访问的结果不一样.
ServerName 192.168.1.99
DocumentRoot /var/www/mysite #我们的刚才创建的项目目录
<Directory /var/www/mysite>
Require all granted #这里和网上的allow all 不一样,看你的apache2版本 2.4之后的都用我这个.
</Directory>
WSGIScriptAlias / /var/www/mysite/apache/django.wsgi
#//前面在建立的文件
</VirtualHost>
第四步:
注册站点: sudo a2ensite mysite 你的mysite.conf名字
回车看到 Enabling site mysite 说明注册成功
第五步:
sudo service apache2 reload
重新启动apache2
然后就可以测试你的网站了.
配置中肯定会有很多问题:
这里提供几个命令帮你查看:
1.apache 有时候会启动失败
可以到 /var/log/apache2
执行 tail -f error.log 实时查看服务器的日志.
2.在局域网中访问不同,提示连接不到服务器.
可以使用 telnet 192.169.1.99 80 测试你的端口和ip是否能正常连接.
也可以使用 sudo ufw status 查看防火墙的端口 状态.
sudo ufw allow 80 开放80端口.
3.也可以用python manage.py runserver 192.168.1.99:8000测试你的django是否正常运行
最后上一张效果图:掌声鼓励~