前一段时间在阿里云上买了一个云服务器,想试试其他系统,感觉ubuntu没有了新意,于是就换一下redhat系列的centos
废话不多说,我选择的系统镜像是centos 6.5 64位
虽然感觉有点多余,但是还是说一下,centos自带的软件包管理器是yum,ubuntu自带的是apt-get,然后他们都自带一个从网络上下载文件的自由工具,叫wget
具体用法很简单,比如我要从python官网下载python 2.7.6的源码包,只要键入指令:
<span style="font-family: Arial, Helvetica, sans-serif;">wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz</span>
就可以了
回到正题
用过ubuntu的小伙伴都知道,下载一个包之前都要输入指令
apt-get update
apt-get upgrade
这样做是为了保证你下载到的包都是最新的,所以yum也不例外,所以,我们首先更新软件包,不过这里只需要下面这条指令就可以了:
yum update
原因是yum upgrade这条指令会将所有的包进行升级,包括那些已经被淘汰了的旧的包,所以没有必要
接下来是配置python,其实也不算是配置python,就是如何安装一个合适的版本
centos6.5自带的python是2.6.6的版本,现在普遍用的都是2.7.x,以2.7.6为例,先下载2.7.6的源码包,就用刚才说到的wget工具:
wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
然后解压源码包:
xz -d Python-2.7.6.tar.xz
tar xvf Python-2.7.6.tar
下一步就可以进行编译安装了,不过在这个步骤之前,要先检查一下gcc有没有安装,方法是直接输入安装的指令:
yum install -y gcc
我的提示是已经安装了,根据我的观察,在yum update的时候就已经把系统的gcc版本提升到最新版了
然后就开始编译安装:
cd Python-2.7.6
./configure
make
make install
需要注意第一句目录名的大小写(这个有点坑,可能是因为我用mac的缘故,osx下的目录名都是不区分大小写的)
安装好了之后,现在打开python,发现版本还是2.6.6,所以接下来要修改系统默认的python版本
/usr/local/bin/python2.7 -V
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python2.7 /usr/bin/python
执行完成这3条语句之后,在终端里面输入python,发现已经变成2.7.6的版本了,好go on
接下来输入yum指令,发现报错了,其中的一句错误信息是这样的:
It's possible that the above module doesn't match the current version of Python
其实就是yum只有基于系统默认版本的python下才能正常工作(也就是2.6.6,原因是yum这个工具就是用python写的),但是现在系统默认的python已经变成了2.7.6,所以相应
yum就不能工作了,所以要修改一下这个文件的信息
vi /usr/bin/yum
将文件头部的
#!/usr/bin/python
修改成
#!/usr/bin/python2.6
这样再正常运行yum就可以了
写到这里,就把更新系统默认的python版本写完了,但是我要告诉大家的是,即使这样更新之后,将pip下载下来仍然有很多不必要的错误,因为现在使用的yum下载的python-pip版本是对应的2.6.6的,并且每次安装的第三方库都是安装在2.6.6对应的目录之下,所以很多库安装之后,在2.7.6下仍然是访问不到的,所以,我并没有使用2.7.6而是用回了python2.6.6,上面的教程希望对大家有一点用,下面的教程是基于python2.6.6写的
现在开始安装数据库
yum install mysql-server mysql mysql-devel
如果之前有安装过mysql,那么可以用下面这条指令把之前安装的给clean掉
rpm -e --nodeps mysql
安装完成之后,首先启动mysql:
service mysqld start
对应的,如果想要重启或者停止mysql服务,那么就将参数换成restart和stop
然后重置密码:
mysqladmin -u root password ‘your_psw’
your_psw就是你自己设置的密码
然后打开mysql
mysql -uroot -p
输入密码之后就可以进入mysql了
接下来安装python的拓展工具包python-devel
yum install python-devel
然后是安装pip
yum install python-pip
我看见很多网上的教程要下载源码,用编译安装,事实证明我这样做也没问题,不过为了方便,还是说一下编译安装,指令如下:
wget https://pypi.python.org/packages/source/p/pip/pip-6.0.8.tar.gz
</pre><pre name="code" class="html">tar zvxf pip-6.0.8.tar.gz
cd pip-6.0.8/
python setup.py install
第一句是从网页上下载源码包,这里下载的事6.0.8版本,解压之后运行setup.py就ok了
用pip下载python的库就方便多了,指令如下
pip install MySQL-python
pip install flask
想要检查这两个库有没有安装成功,只要在终端中打开python,然后import对应的包观察是否报错就可以了
import MySQLdb
import flask
没有报错,说明安装成功
到这里,环境就差不多配置好了,不过最后我还要补充的一点就是,乱码的问题,尤其是在服务器上,我那天在本地测试的时候好端端的,可是把代码扔到服务器上之后怎么都会出现乱码,主要就是服务器上的mysql配置可能跟你的本地的mysql配置不一样,比如mysql的默认编码方式,所以为了避免乱码,我们在建表的时候最好就制定好charset和engine,样例语句如下:
create table yourTable(ID1 text, ....)engine=innodb default charset=utf8;