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>

 

Apatche httpd + Django + Mysql web server 搭建的更多相关文章

  1. 云服务器+tomcat+mysql+web项目搭建部署

    云服务器+tomcat+mysql+web项目搭建部署 1.老样子,开头墨迹两句. 作为我的第二篇文章,有很多感慨,第一篇人气好低啊,有点小丧气,不过相信我还是经验少,分享的都是浅显的,所以大家可能不 ...

  2. MySQL BinLog Server 搭建实战

    一.MySQL Binlog server 介绍 MySQL Binlog Server: 它使用 mysqlbinlog 命令以 daemon 进程的方式模拟一个 slave 的 IO 线程与主库连 ...

  3. Django开发web环境搭建的简单方法(CentOS6.5环境)

    这几天跟Linux下的Python + Django环境搭建卯上了.经过几天的琢磨,找到了一条自己认为给力的路径. 这里给出命令行,过程如下: 首次登陆,切换管理员: [web@bogon ~]$ s ...

  4. 全面解读Python Web开发框架Django,利用Django构建web应用及其部署

    全面解读Python Web开发框架Django Django是一个开源的Web应用框架,由Python写成.采用MVC的软件设计模式,主要目标是使得开发复杂的.数据库驱动的网站变得简单.Django ...

  5. 利用Django构建web应用及其部署

    注:很久之前就有了学习Django的想法,最近终于有机会做了一次尝试.由于Django的详细教程很多,我在这里就不再详述了,只是将整个开发流程以及自己在学习Django中的一些思考记录在此. Syst ...

  6. Django+Nginx+MongoDB+Mysql+uWsgi的搭建

    搭建目标如下: 图:系统架构图 这个系统可以提供web服务及其它查询应用服务,我用其做一个二手房信息搜集.处理及分发的系统,可以通过浏览器访问,也可以通过定制的客户端进行访问. 一.安装篇 1.下载安 ...

  7. Django部署到Apache Web Server

    Windows环境下,将Django部署到Apache Web Server 在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. ...

  8. 搭建一个Web Server站点

    题:搭建一个Web Server站点.安装web服务,并在本地创建index.html测试 1.安装http服务 yum -y install httpd 2.进入网站目录 cd /var/www/h ...

  9. pycharm+python+Django之web开发环境的搭建(windows)

    转载:https://blog.csdn.net/yjx2323999451/article/details/53200243/ pycharm+python+Django之web开发环境的搭建(wi ...

随机推荐

  1. cuda8.0 百度云盘分享

    因为深度学习的需要,装了ubuntu16系统,同时也装了cuda,在下载cuda的时候发现教育网下载的速度不忍直视,故换了更快的网下载,结果发现10兆宽带下载速度依然很慢,不过总算还是下载了,故把千辛 ...

  2. 234. Palindrome Linked List【Easy】【判断链表是否回文】

    Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...

  3. JZYZOJ 1360 [usaco2011feb]人品问题 DP 树状数组 离散化

    http://172.20.6.3/Problem_Show.asp?id=1360   好想好写   代码 #include<iostream> #include<cstdio&g ...

  4. [BZOJ 3140] 消毒

    Link: BZOJ 3140 传送门 Solution: 挺好的一道暴力题 首先发现可以每次贪心选择宽度为1的一面,即$1*x*y,1*x*z,1*y*z$ 那么对于与该面垂直的面,相当于解决了一行 ...

  5. 2016ACM-ICPC网络赛北京赛区 1001 (trie树牌大模拟)

    [题目传送门] 1383 : The Book List 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 The history of Peking University ...

  6. 【动态规划】CDOJ1692 这是一道比CCCC简单题更有想象力的中档题

    f(i,j)表示打了i行出现j个bug的方案数. 还是跟背包有点像嘛. #include<cstdio> using namespace std; int n,m,b,mod,a[510] ...

  7. 【Miller-Rabin算法】

    存个板子,应该是对的吧……没太试 http://www.cnblogs.com/Norlan/p/5350243.html Matrix67写的 根据wiki,取前9个素数当base的时候,long ...

  8. 【MySQL笔记】触发器,存储过程和函数

    一.触发器 触发器(TRIGGER):是由事件来触发某个操作.当数据库系统执行这些事件时,就会激活触发器执行相应的操作.MySQL从5.0.2版本开始支持触发器. 触发事件:INSERT语句.UPDA ...

  9. 2016.4.3NOI上较难的动规题目(仔细分析样例)--王老师讲课整理

    1.NOI 191:钉子和小球 总时间限制: 1000ms 内存限制:  65536kB 描述 有一个三角形木板,竖直立放,上面钉着n(n+1)/2颗钉子,还有(n+1)个格子(当n=5时如图1).每 ...

  10. 通过OpenVPN来穿越上网(未实践)

    说明: 1.其实OpenVPN可以通过其实现穿越来上网,即全部请求都经过OpenVPN来处理.其原理是iptables转发.如果全程走iptables也是可以的,网上的教程基本都是基于iptables ...