zoukankan      html  css  js  c++  java
  • Apatche httpd + Django + Mysql web server 搭建

    Required:

    • httpd: 2.4.18
    • django : 1.8.7
    • mysql: 5.7.10
    • MySQL-python: 1.2.3
    • mod_wsgi: 4.4.21

    Offical Docs:

    • http://httpd.apache.org/docs/2.4/
    • https://docs.djangoproject.com/en/1.8/
    • http://dev.mysql.com/doc/refman/5.7/en/
    • https://pypi.python.org/pypi/mod_wsgi

    1. Httpd 安装

        Required:   apr, apr-util and pcre

        注意:apache 程序的安装不会有success这样的信息。

                 显示**make leaving directory字样不是错误,是正常的。

        a) 下载安装包

        b) 解压安装包, 准备 apr 和 apr-util

            将 apr 和 apr-util 解压后的文件夹 重命名为 apr 和 apr-util, 并把它们放到 httpd 的 srclib 文件夹下。

        c) 安装pcre

            解压,切换到该目录

            ./configure

              make

              sudo make install

        c) 安装 httpd

              ./configure --with-included-apr --with-included-apr-util

              make

              sudo make install

    # start
    sudo ./apachectl -f /usr/local/apache2/conf/httpd.conf
    # restart
    sudo ./apachectl -k graceful
    # stop
    apachectl -k stop

    2. Mysql 安装

        我在官网上下载的是deb文件压缩包,解压出来的是一串deb文件:

        sudo dpkg -i mysql-{common,community-client,client,community-server,server}_*.deb

        如果下载的是其他的文件,请在官网上找对应的连接去安装。

        还需要做些配置参见:http://dev.mysql.com/doc/refman/5.7/en/postinstallation.html 

             主要是这个:http://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization.html 

    # start(choose one)
    /etc/init.d/mysql start
    mysqld_safe --user=mysql &
    systemctl start mysqld
    
    # stop
    /etc/init.d/mysql stop
    
    
    # start mysql command line window
    mysql -u root mysql -p
    mysql> SELECT * FROM user;

    3. MySQL-python, Django 安装

         解压, python setup.py install

         如果 python -c "import django; print(django.get_version())" 可以正常返回版本号,就成功了。

         使用:  

    # 创建project
    django-admin.py startproject devicemonitor
    # 创建app
    cd project目录
    python manage.py startapp device
    
    
    # 持久化数据库
    python manage.py makemigrations
    python manage.py migrate
    
    # 导出数据
    python manage.py dumpdata app名 > myapp.json
    # 导入数据
    python manage.py loaddata myapp.json
    
    # create user as Admin
    python manage.py createsuperuser
    
    # 可以检验是否有语法错误
    vim settings.py
    python manage.py validate

    4. mod_wsgi 安装

         这个是 apache 内置的python 解释器。安装方法,.configure, make, sudo make install

         需要把mod_wsgi.so 放在/usr/local/apache2/modules/ 下。

         

    配置:

      1. /usr/local/apache2/conf/httpd.conf

             a) 配置 DocumentRoot, 这是web的入口。 紧跟着的<Directory>也要配置,这是必须的。

                如果是静态,类似于ftp性质的,那么这样就足够了,可以浏览文件,下载文件。

             b) wsgi 配置

                 LoadModule wsgi_module modules/mod_wsgi.so

             c) 网站配置例子。包括static文件路径和wsgi的配置。

    WSGIPythonPath project路径
    <VirtualHost *:80>
        ServerName 域名或IP
        ServerAlias 域名或IP
        ServerAdmin 邮箱地址
    
        Alias /static/ 静态文件路径
        <Directory "/static/">
            Require all granted
        </Directory>
    
        WSGIScriptAlias / project路径/project名/wsgi.py
        <Directory "project路径/project名">
            <Files wsgi.py>
                Require all granted
            </Files>
        </Directory>
    </VirtualHost>

     

  • 相关阅读:
    狼羊过河问题
    java实现透明窗体
    商人胡萝卜问题
    NXP迅为IMX8开发板Andaoid编译环境搭建
    迅为龙芯2K1000开发板Linux下gcc编译
    迅为恩智浦i.MX8MM开发平台虚拟机安装Ubuntu16.04系统
    恩智浦NXP迅为i.MX6Q开发板资料提升了
    迅为龙芯2K1000开发板Linux工具之make工具和Makefile文件
    迅为瑞芯微3399开发板minimalYocto文件系统的构建
    迅为恩智浦IMX6Q开发板Buildroot 文件系统 alsa 声卡工具测试
  • 原文地址:https://www.cnblogs.com/snow-backup/p/5169042.html
Copyright © 2011-2022 走看看