3_主流部署方式介绍-Django+mod_wsgi+Apache

时间:2023-03-09 16:36:33
3_主流部署方式介绍-Django+mod_wsgi+Apache

安装apache

yum install httpd httpd-devel -y

 开机自动重启配置

chkconfig httpd on

  重新编译安装python

删除编译记录及文件

修改apache的配置文件指明python的安装位置

[root@abc123 桌面]#  vi  /etc/ld.so.conf

 修改前

修改后

include ld.so.conf.d/*.conf
/usr/local/lib
~
~

 python编译完成后执行入下命令

[root@abc123 桌面]# /sbin/ldconfig -v

  

[root@abc123 blog_project]# vi /etc/selinux/config

  修改前

SELINUX=enforcing

  

修改后

SELINUX=disabled

  

启动立即生效

[root@abc123 blog_project]# setenforce=0

  

chown -R apache:apache blog_project

  执行如下命令直至根目录,最后一个参数是文件名

chmod -R 755  blog_project

  

 错误日志查看

[root@abc123 httpd]# vi  /var/log/httpd/error_log

  

错误日志提示

[Sat Mar 03 08:32:10 2018] [error] [client ::1] ValueError: Unable to configure handler 'default': [Errno 2] No such file or directory: '/log/all.log'

在django中修改错误日志的地址

[root@abc123 blog_project]# vi settings.py

 

            },
'default': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': BASE_DIR +'/log/all.log', #日志输出文件
'maxBytes': 1024*1024*5, #文件大小
'backupCount': 5, #备份份数
'formatter':'standard', #使用哪种formatters日志格式
},
'error': {
'level':'ERROR',
'class':'logging.handlers.RotatingFileHandler',
'filename': BASE_DIR +'/log/error.log',
'maxBytes':1024*1024*5,
'backupCount': 5,
'formatter':'standard',
}, 'request_handler': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename':BASE_DIR + '/log/script.log',
'maxBytes': 1024*1024*5,
'backupCount': 5,
'formatter':'standard',
},
'scprits_handler': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename':BASE_DIR +'/log/script.log',
'maxBytes': 1024*1024*5,
'backupCount': 5,
'formatter':'standard',
}
},

  一共要修改4 处文件路径

  

启动数据库

[root@abc123 httpd]# service mysqld start

  配置mysql开机自动启动

[root@abc123 blog_project]# chkconfig mysqld on

  配置后台管理系统的静态模板

配置静态模板收集回来后的存储位置,配置settings.py

[root@abc123 blog_project]# vi settings.py

  进入后配置代码

MEDIA_URL = '/uploads/'

STATIC_ROOT = os.path.join(BASE_DIR,  'collect')

MEDIA_ROOT = os.path.join(BASE_DIR,  'uploads')

  中间一行为要配置的代码

静态模板收集回来之后会在项目的路径下生成一个collect的文件夹

将collect文件夹中的admin移入到静态模板中

操作如下,

收集静态文件

[root@abc123 blog_project]# python manage.py collectstatic

 移动静态文件

[root@abc123 collect]# mv admin ../static/

 更改项目权限

[root@abc123 fhj]# chown -R apache:apache blog_project

 重启apache

[root@abc123 fhj]# service httpd restart

 打开浏览器admin正常启动