安装Apache和MySQL的时候尽量选择源代码编译安装,因为后面安装Python的MySQL扩展的时候需要用到MySQL的开发包及编译头文件。Python的版本最好为2.6.X的。

本文中源码的存放目录为:/usr/local/src,源代码均可以到各自的官方网站进行下载。

1、安装apache:

#cd httpd-2.2.17

#./configure –enable-track-vars –enable-cgi –with-config-file-path=/opt/apache/conf –enable-modules=all –enable-mods-shared=all –enable-file-cache –enable-disk-cache –enable-cache –enable-mem-cache –enable-dumpio –enable-logio –enable-mime-magic –enable-headers –enable-usertrack –enable-version –enable-ssl –enable-http –enable-rewrite –enable-proxy –enable-proxy-connect –enable-proxy-http –enable-proxy-ftp –enable-proxy-ajp –enable-proxy-balancer –enable-so

#make

#make install

#cd httpd-2.2.17

#./configure –enable-track-vars –enable-cgi –with-config-file-path=/opt/apache/conf –enable-modules=all –enable-mods-shared=all –enable-file-cache –enable-disk-cache –enable-cache –enable-mem-cache –enable-dumpio –enable-logio –enable-mime-magic –enable-headers –enable-usertrack –enable-version –enable-ssl –enable-http –enable-rewrite –enable-proxy –enable-proxy-connect –enable-proxy-http –enable-proxy-ftp –enable-proxy-ajp –enable-proxy-balancer –enable-so

#make

#make install

2、安装 mod_wsgi:

cd mod_wsgi-3.3

./configure –with-apxs=/usr/local/apache2/bin/apxs \ –with-python=/usr/bin/python

make

make install

cd mod_wsgi-3.3

./configure –with-apxs=/usr/local/apache2/bin/apxs \ –with-python=/usr/bin/python

make

make install

将编译生成的库文件拷到apache的库文件目录:

cp /usr/local/apache2/modules/mod_wsgi.so /etc/httpd/modules

cp /usr/local/apache2/modules/mod_wsgi.so /etc/httpd/modules

在/etc/httpd/conf/httpd.conf中添加:

LoadModule wsgi_module modules/mod_wsgi.so

LoadModule wsgi_module modules/mod_wsgi.so

3、安装mysql:

# cd mysql-VERSION

# ./configure

# make

# make install

# cp support-files/my-medium.cnf /etc/my.cnf

# cd /usr/local/

# bin/mysql_install_db –user=mysql

# bin/mysqld_safe –user=mysql &

# cd mysql-VERSION

# ./configure

# make

# make install

# cp support-files/my-medium.cnf /etc/my.cnf

# cd /usr/local/

# bin/mysql_install_db –user=mysql

# bin/mysqld_safe –user=mysql &

配置my.cnf

改动如下:

[client]

#password = your_password

port = 3306

socket = /tmp/Mysql3306.sock

# The Mysql server

[Mysqld]

port = 3306

socket = /tmp/Mysql3306.sock

[client]

#password = your_password

port = 3306

socket = /tmp/Mysql3306.sock

# The Mysql server

[Mysqld]

port = 3306

socket = /tmp/Mysql3306.sock

/*

若是你的mysql不是安装在默认路径,如安装在/usr/local/mysql,安装完成后,记得设置PATH环境变量,加上/usr/local/mysql/bin,以便运行mysql。

直接编辑/etc/environment文件,在里面修改PATH环境变量。该方法必须重启系统后才能生效,但是对于任何用户都有效。

可以设置为:

#PATH=.:/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/mysql/bin

*/

#PATH=.:/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/mysql/bin

*/

注:

安装了mysql以后,mysql的库文件默认放在/usr/local/lib/mysql下面,必须修改一下库文件的配置文件,不然在使用MySQLdb时会出现找不到库文件的错误。

(1)往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到

(2)想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到。

安装了mysql后,mysql有一大堆library在/usr/local/lib/mysql/下面,这时就需要在/etc/ld.so.conf下面加一行/usr/local/lib/mysql,保存过后ldconfig一下,新的library才能在程序运行时被找到。

连接数据库:

mysql -uroot -p

mysql -uroot -p

修改数据库root用户的密码:

mysqladmin -uroot -p password 1234//1234为新密码

mysqladmin -uroot -p password 1234//1234为新密码

4、将mysql加入系统服务

cp /usr/local/share/mysql/mysql.server /etc/init.d/mysql #把msql的脚本文件拷到系统的启动目录下

cd /etc/init.d/

chkconfig –add mysql #将mysql加到启动服务列表里

chkconfig mysql on #让系统启动时自动打开mysql服务

cp /usr/local/share/mysql/mysql.server /etc/init.d/mysql #把msql的脚本文件拷到系统的启动目录下

cd /etc/init.d/

chkconfig –add mysql #将mysql加到启动服务列表里

chkconfig mysql on #让系统启动时自动打开mysql服务

apache安装以后,默认已经在系统服务里面了,通过下面的命令可以方便的进行管理。同时也可以通过setup命令对系统服务进行设置,使其开机自启动。

管理

apache:service httpd start/restart/stop)

apache:service httpd start/restart/stop)

管理

mysql:service mysql start/restart/stop)

mysql:service mysql start/restart/stop)

5、安装setuptools

sh setuptools-0.6c9-py2.4.egg

sh setuptools-0.6c9-py2.4.egg

6、安装MySQLdb:

如果你是像前面说的,默认编译安装的MySQL,不用做任何修改。若是自定义的安装路径有所不同,对于MySQLdb的安装,用vi打开MySQLdb目录中的site.cfg文件,找到“mysql_config=”,修改后面的路径到你机器中mysql_config文件的路径。

mysql_config =/usr/local/mysql/bin/mysql_config

#python setup.py build

#python setup.py install

mysql_config =/usr/local/mysql/bin/mysql_config

#python setup.py build

#python setup.py install

测试:

# python

>>> import MySQLdb

>>>

# python

>>> import MySQLdb

>>>

没有任何输出,安装成功!

如果出现了安装或者使用错误,请参照:http://mysql-python.sourceforge.net/FAQ.html

7、安装配置Django:

下载最新安装包到本地,解压缩:

# tar -xvf django.tar.gz

进入到安装目录,执行命令安装Django:

# cd Django_x.x.x

# python setup.py install

# tar -xvf django.tar.gz

进入到安装目录,执行命令安装Django:

# cd Django_x.x.x

# python setup.py install

简单测试:

# python

>>> import django

>>>

# python

>>> import django

>>>

没有任何输出,安装成功!

8、本地测试django(开发环境):

# cd /var/www

# mkdir /test

# cd /htdocs

# django-admin.py startproject myproject

# cd myproject

# python manager.py runserver 0.0.0.0:80

# cd /var/www

# mkdir /test

# cd /htdocs

# django-admin.py startproject myproject

# cd myproject

# python manager.py runserver 0.0.0.0:80

现在访问 http://服务器IP,看到“It works”了吧 ^_^

若是其他端口,可能不能访问,这可能是由于你服务器的防火墙阻挡了,在防火墙里添加相应的端口即可。

测试正常后,按Ctrl + C退出服务器。

9、在apache上的部署

创建项目mdash,mdash的源代码存放在wman目录下:

#cd /var/www/html/wman

#django-admin.py startproject mdash

#cd /var/www/html/wman

#django-admin.py startproject mdash

配置Apache的httpd.conf以运行wsgi

#vi /etc/httpd/conf/httpd.conf

# vi /etc/httpd/conf/httpd.conf

添加以下内容:

WSGIScriptAlias / /var/www/html/wman/mdash/django.wsgi

Order Deny,Allow

Allow from all

WSGIScriptAlias / /var/www/html/wman/mdash/django.wsgi

Order Deny,Allow

Allow from all

配置django.wsgi:

#cd mdash

#touch django.wsgi

#vi django.wsgi

#cd mdash

#touch django.wsgi

#vi django.wsgi

添加如下内容:

import os, sys

sys.path.append(‘/var/www/html/wman’)

os.environ['DJANGO_SETTINGS_MODULE'] = ‘mdash.settings’

os.environ['PYTHON_EGG_CACHE'] = ‘/tmp/.python-eggs’ #防止PYTHON_EGG_CACHE无权限的问题

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

import os, sys

sys.path.append(‘/var/www/html/wman’)

os.environ['DJANGO_SETTINGS_MODULE'] = ‘mdash.settings’

os.environ['PYTHON_EGG_CACHE'] = ‘/tmp/.python-eggs’ #防止PYTHON_EGG_CACHE无权限的问题

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

mod_wsgi和php,基于mod_wsgi模式安装Django相关推荐

  1. Spark的安装(Standalone模式,高可用模式,基于Yarn模式)

    目录 spark的Standalone模式安装 一.安装流程 1.将spark-2.2.0-bin-hadoop2.7.tgz  上传到 /usr/local/spark/ 下,然后解压 2.进入到c ...

  2. Windows上python开发--2安装django框架

    Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...

  3. ebc是什么意思_UEFI+GPT和Legacy+MBR两种模式安装的系统有什么区别

    UEFI+GPT和Legacy+MBR两种模式安装的系统有什么区别?很多电脑小白都搞不懂UEFI.GPT.BIOS.MBR到底是什么意思,下面跟随小白系统一起深入了解下UEFI+GPT和Legacy+ ...

  4. legacy bios与uefi两种模式安装windows8操作系统的方法

    在Legacy BIOS与UEFI 两种模式安装Windows 8操作系统的方法 作者:佚名 字体:[增加 减小] 来源:互联网 时间:01-10 16:18:23 我要评论 不是所有WIN8都可以安 ...

  5. linux hive创建数据库失败,Hive本地模式安装及遇到的问题和解决方案

    Apache Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行. 其优点是学习成 ...

  6. PaddleOCR——Docker环境下基于HubServing模式部署Restful API服务(CPU版本)

    Docker环境下基于HubServing模式部署Restful API服务(CPU版本) 在日常项目应用中,相信大家一般都会希望能通过Docker技术,把PaddleOCR服务打包成一个镜像,以便在 ...

  7. 树莓派下安装Django环境

    Django是Python下的一款网络服务器框架. Python下有许多款不同的框架. Django是重量级选手中最有代表性的一位. 许多成功的网站和APP都基于Django. 安装pip sudo ...

  8. 基于华为云的Django网站部署

    学习笔记,仅供参考,有错必纠 参考自:Xshell远程连接服务器:win10 开启ssh server服务 远程登录 文章目录 基于华为云的Django网站部署 远程登录华为云 Xftp+Xshell ...

  9. 发布一个基于 Reactor 模式的 C++ 网络库

    发布一个基于 Reactor 模式的 C++ 网络库 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 Aug 30 本文主要介绍 muduo 网 ...

最新文章

  1. min聚合函数查询带有额外字段sql|dense_rank()over(partition)|+班级学生成绩最高
  2. php yii2自动给值,Yii2基于Ajax自动获取表单数据的方法
  3. python: 多线程实现的两种方式及让多条命令并发执行
  4. mysql docker自动化_docker自动化部署
  5. [MATLAB调试笔记]phase space plot
  6. YTU 2586: 填空题B-字画鉴别
  7. 事务管理基础:排它锁和共享锁相关知识笔记
  8. MySql和Oracle数据库的区别?
  9. test1 exam5定义一个可以精确表示年、月、日、小时、分、秒的结构体
  10. 通过流程构建组织的【个人能力】和【团队能力】
  11. 我发起了一个 .Net Core 平台上的 分布式缓存 开源项目 ShareMemory 用于 取代 Redis...
  12. PANIC: Could not open: AVD
  13. springcloud之bus消息总线
  14. 【常见Web应用安全问题】---12、URL redirection
  15. 2021总结,我在CSDN这些年
  16. Sosoapi本地项目搭建
  17. 计算今天是本学期第几周
  18. 前端常用PS技巧总结之将图片背景透明化
  19. 小葵花妈妈课堂开课了:《AsyncTask源码分析》
  20. php页面背景url不显示图片,background-image:url(XXXX.gif)为何不显示背景图片_html/css_WEB-ITnose...

热门文章

  1. 获取krpano点坐标 ath-x  atv-y
  2. 商城口碑颜值双高蓝牙耳机推荐,双11蓝牙耳机选购品牌排行榜
  3. Java中if语句详解
  4. 如何得到1-100中的质数
  5. php微信获取mediaid超出限制_微信永久素材上传视频并通过mediaid获取微信url调用视频...
  6. [搞笑]MM买裤子 超强的
  7. 每次进入命令需要重新source的解决方法
  8. Java习题练习:和尚挑水
  9. JDK、JRE、JVM、SDK
  10. Python数据可视化 Pyecharts 制作 Overlap 层叠多图