Django部署(Apache)
2016-12-30 00:00
267 查看
#本文django版本为1.10,Apache版本为 Apache/2.4.18 (Ubuntu),Python为Ubuntu16.04的3.5.2!
#1:安装Apache
#2:安装wsgi,我们用的是Python3所以安装3版本的wsgi
#3:准备Django项目的配置文件,Ubuntu的Apache2的配置文件在/etc/apache2/下
###备注:centos用户的Apache名称为httpd 在/etc/httd/中
##示例内容如下:
#4:设置目录权限以及文件权限
####a:先查看Apache运行的用户
####内容如下:
####可以看出Apache运行所使用的用户为www-data,
####此时可以将项目目录的权限的所有者设置为www-data
####在Linux服务器上还需要设置上传目录的权限,建议如下操作:
#5:重启Apache
######备注:一般情况下重启失败的原因是因为wsgi目录指向不正确,或者wsgi在Apache中无法正确加载导致,建议详细检查配置文件!
#6:然后访问自己配置文件中定义的域名,确保自己的域名可以正常解析,如果无法解析,在Linux中可以写在/etc/hosts添加如下内容:
###如果此时无法访问,则有可能是你Django代码中settings.py 中没有给权限,可以参照如下所示设置:
#7:此时如果你想要访问自己的admin,管理页面,会突然发现这个时候没有样式,页面变的很丑,那是因为你在配置文件中设置所有的静态文件指向了static,而此时静态文件无法找到,你需要将admin的静态文件拷贝到项目的static目录下,
#1:安装Apache
sudo apt-get install apache2
#2:安装wsgi,我们用的是Python3所以安装3版本的wsgi
#Python3 sudo apt-get install libapache2-mod-wsgi-py3 #Python2 sudo apt-get install libapache2-mod-wsgi
#3:准备Django项目的配置文件,Ubuntu的Apache2的配置文件在/etc/apache2/下
###备注:centos用户的Apache名称为httpd 在/etc/httd/中
sudo vi /etc/apache2/sites-available/sitename.conf
##示例内容如下:
<VirtualHost *:80> ServerName www.yourdomain.com ServerAlias otherdomain.com ServerAdmin tuweizhong@163.com Alias /media/ /home/tu/blog/media/ Alias /static/ /home/tu/blog/static/ <Directory /home/tu/blog/media> Require all granted </Directory> <Directory /home/tu/blog/static> Require all granted </Directory> WSGIScriptAlias / /home/tu/blog/blog/wsgi.py # WSGIDaemonProcess ziqiangxuetang.com python-path=/home/tu/blog:/home/tu/.virtualenvs/blog/lib/python2.7/site-packages # WSGIProcessGroup ziqiangxuetang.com <Directory /home/tu/blog/blog> <Files wsgi.py> Require all granted </Files> </Directory> </VirtualHost>
#4:设置目录权限以及文件权限
####a:先查看Apache运行的用户
ps -aux | grep apache2
####内容如下:
root 43810 0.0 0.0 85720 5568 ? Ss 14:54 0:00 /usr/sbin/apache2 -k start www-data 43812 0.1 0.4 490432 38844 ? Sl 14:54 0:01 /usr/sbin/apache2 -k start www-data 43813 0.1 0.4 490756 39304 ? Sl 14:54 0:02 /usr/sbin/apache2 -k start
####可以看出Apache运行所使用的用户为www-data,
####此时可以将项目目录的权限的所有者设置为www-data
chown www-data:www-data /home/tu/blog/ -R
####在Linux服务器上还需要设置上传目录的权限,建议如下操作:
cd media/ # 进入media文件夹 sudo chgrp -R www-data uploads sudo chmod -R g+w uploads
#5:重启Apache
sudo /etc/init.d/apache2 restart
######备注:一般情况下重启失败的原因是因为wsgi目录指向不正确,或者wsgi在Apache中无法正确加载导致,建议详细检查配置文件!
#6:然后访问自己配置文件中定义的域名,确保自己的域名可以正常解析,如果无法解析,在Linux中可以写在/etc/hosts添加如下内容:
127.0.0.1 www.yourdomain.com
###如果此时无法访问,则有可能是你Django代码中settings.py 中没有给权限,可以参照如下所示设置:
ALLOWED_HOSTS = ['www.yourdomain.com', '127.0.0.1', 'localhost', '你的IP地址', ]
#7:此时如果你想要访问自己的admin,管理页面,会突然发现这个时候没有样式,页面变的很丑,那是因为你在配置文件中设置所有的静态文件指向了static,而此时静态文件无法找到,你需要将admin的静态文件拷贝到项目的static目录下,
sudo cp -r /usr/local/lib/python3.5/dist-packages/django/contrib/admin/static/admin /home/tu/blog/static/
相关文章推荐
- Django1.4 python2.7 apache mod_python 安装与部署实例
- Apache部署Django项目
- windows下Django 部署到Apache24的配置
- Ubuntu 14.10下部署Django到Apache服务器
- django apache部署配置
- Ubuntu下Apache中部署Django
- django在apache下的部署包括静态文件解析(笔记)
- Windows下Apache部署Django过程记录
- Apache上部署Django
- 用Apache和mod_python来部署Django
- apache 部署 django admin的css丢失问题解决
- Apache部署django项目
- Django部署到Apache Web Server
- 把Django项目部署到Apache上
- python&Django&mariadb&Apache&mod_wsgi 环境部署
- 在linux apache 上部署 django 网站
- Apache部署django项目
- Linux下安装Apache并以mod_wsgi方式部署django站点
- Ubuntu 13.04 Django 项目部署Apache +WSGI.
- WIN, Apache2.2+Django1.6(Python2.7.5)+mod_wsgi 实现网站部署