• 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正常启动

  • 相关阅读:
    js中==与===区别
    Initialization failure 0x0000000c
    Spring通过@Value注解注入属性的几种方式
    java中读取配置文件中数据的具体方法
    spring整合hibernate
    url上参数解析笔记
    编号的生成(日期+序列号)
    application.xml & -servlet.xml
    webApplicationContext 与servletContext
    Http协议整理
  • 原文地址:https://www.cnblogs.com/cerofang/p/8495714.html
Copyright © 2020-2023  润新知