上一篇博客:全栈之路一路坑之使用django开发博客

开发完博客之后,很多后续应用需要博客部署之后才可以使用,这篇文章就来尝试一下将开发好的博客部署到服务器上。

开发阶段,一直使用的是virtualenv和python manage.py runserver,但需要部署到服务器上时就有些不合适了,所以我尝试把它部署到Apache里。

查阅了相关资料发现部署方法有两种,一种是python_mod,另一种是wsgi,资料上说后者更加稳定一点,所以我选择使用wsgi进行集成。

安装httpd-devel,因为wsgi需要这个依赖

 yum install -y httpd-devel

安装mod_wsgi

yum install mod_wsgi.x86_64

查阅了很多资料,踩了很多坑,总算找到一种可行的方案,现在分享给大家,我的服务器系统是centos7,安装的所有软件都是最新的。

首先在conf.d下面创建一个配置文件,名为django.conf,它会自动被httpd.conf加载进去

因为我的服务器上跑着很多项目,所以必须用虚拟主机了,编辑django.conf文件

Listen 8000
WSGIPythonPath /var/www/django/blog
<VirtualHost *:8000>
WSGIScriptAlias / /var/www/django/blog/blog/wsgi.py
<Directory /var/www/django/blog/blog>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>

代码为apache多添加了一个8000端口的监听,然后第二行要注意,不能写在虚拟主机里,否则会报错,然后下面就是很常规的将目录写进虚拟主机里,然后访问一下8000端口

样式文件全都不在,因为需要在虚拟主机里配置一下,但是每个app的样式都写在自己里面配置起来很麻烦,所以使用一个命令,将所有的样式提取出来,首先,在根目录下创建一个static的文件夹,然后在settings.py中增加一行,它自带了STATIC_URL,不过很显然,这儿有错误,所以我选择自己添加一个进去

STATIC_ROOT = 'static/'

然后执行命令

python manage.py collectstatic

然后在根目录下的static中会生成所有的静态文件,然后将代码上传到服务器上去,然后再次打开django.conf修改

Listen 8000
WSGIPythonPath /var/www/django/blog
<VirtualHost *:8000>
WSGIScriptAlias / /var/www/django/blog/blog/wsgi.py
Alias /static/ /var/www/django/blog/static/
<Directory /var/www/django/blog/static>
Require all granted
</Directory>
<Directory /var/www/django/blog/blog>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>

然后访问网址,发现样式正常了

最新文章

  1. select count(*)和select count(1)哪个性能高
  2. Android(java)学习笔记108:通过反射获取私有构造方法并且使用
  3. jquery点击控制动画暂停开始
  4. JAXB - XML Schema Types, Binary Data
  5. CentOS 6.3 安装ATI显卡驱动
  6. MySQL取得当前时间的函数是什么 格式化日期的函数是什么
  7. 使用linq对字符串1,2,3,4,5,6,7,8,9,10求和
  8. JAVA判断32位还是64位,调用不同的DLL(转)
  9. CSS的position/float/display
  10. python matplotlib 图表局部放大
  11. Beta冲刺Day2
  12. PAT1091:Acute Stroke
  13. set nocount on/off的作用,可配合存储过程使用
  14. spring整合thymeleaf
  15. Linux命令:logout
  16. jQuery操作select下拉框的text值和value值的方法
  17. 3.2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——检查文件开始与结尾
  18. C/C++:.hpp与.h区别
  19. leetcode 152. 乘积最大子序列 java
  20. Spark Streaming的接收KAFKA的数据

热门文章

  1. net user
  2. R语言中文社区历史文章整理(类型篇)
  3. couchbase map reduce
  4. 50、转自知乎上android开发相见恨晚的接口
  5. 基于web自动化测试框架的设计与开发(本科论文word)
  6. ThinkPHP5 连接 PostgreSQL
  7. MFC之HTTP文件上传
  8. [SDOI2016][bzoj4514] 数字配对 [费用流]
  9. windows系统——U 盘损坏修复
  10. input[type=&quot;radio&quot;]自定义样式