您的位置:首页 > 运维架构 > Apache

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

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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Django Apache