Ubuntu16.04下部署Django项目
将Django项目部署到ubuntu上,并可以通过外网进行访问。
首先,需要的环境有ubuntu(我的是16.04)
apache2(sudo apt-get install apache2),配置稍后解释
wsgi模块(sudo apt-get install libapache2-mod-wsgi)连接Django项目
1)先介绍一下apache的配置,等待安装完成后,cd 进入/etc/apache2目录下面。
目录中有一个apache2.conf文件,vi编辑该文件。
写上ServerName localhost
然后在文件中写上:
WSGIScriptAlias /var/www/mylove/wsgi.py
WSGIPythonPath /var/www/mylove
<Directory /var/www/mylove>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
这里的mylove就是我的项目文件夹,其中/var/www是apache项目文件存放的路径,即DocumentRoot,这一个属性是在/etc/apache2/sites-available下面的000-default文件中进行设置的,可以自行设置路径。
wsgi.py文件在项目创建的时候就已经生成,可以将它拷贝到指定的目录中,上面的路径对应好。
注意一点:在配置WSGIScriptAlias的时候,启动apache可能会报错,原因是只是安装了wsgi模块,并没有在apache中导入该模块,执行命令:a2enmod wsgi进行引入。
此时,重启apache,/etc/init.d/apache2 restart
2)刚开始按上apache时候,运行127.0.0.1出现成功界面,在部署django文件后,再次运行可能出现 /access 访问权限的一个错误,页面显示Forbidden!
这是由于conf配置的一个问题,将deny from all 去掉(我的配置过程没有遇到)
3)重启apache。别的终端输入网址即可访问。
在研究vim的过程中,发现了一个命令,叫做:saveas,当使用vim打开一个文件,但忘记使用sudo,最后发现无权限保存时,可以调用saveas命令将该文件另存到有权限的地方。 之后,再将该文件拷贝回来。比分割线前的方法简单很多。