python+ nginx + django + uwsgi 之 (一) 安装 nginx 和 python

在centos上搭建python+ nginx +  django + uwsgi

一,搭建nginx

由于phper一枚,nginx是之前已经搭建好了的,采用的是lnmp一键安装包,具体如下(就不细说了):

https://lnmp.org/install.html

二,安装python2.7  (参考:https://www.jianshu.com/p/920f8f5bcf82)

由于centos 自带的是2.6 ,所以我们要升级到2.7

[root@iZwz948fbj8fd5kmzmmaiyZ ~]# cd ~
[root@iZwz948fbj8fd5kmzmmaiyZ ~]# wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
[root@iZwz948fbj8fd5kmzmmaiyZ ~]# tar -zxvf Python-2.7.10.tgz

这里先别安装,先把sqlite给装了,不然后面安装django会报错,又得重装python

2.1安装sqlite

[root@iZwz948fbj8fd5kmzmmaiyZ ~]# yum -y install sqlite-devel

2.2接着安装python

[root@iZwz948fbj8fd5kmzmmaiyZ ~]# cd Python-2.7.10
[root@iZwz948fbj8fd5kmzmmaiyZ Python-2.7.10]# ./configure --enable-shared --enable-loadable-sqlite-extensions --prefix=/usr/local/python27 --with-zlib --with-ssl
[root@iZwz948fbj8fd5kmzmmaiyZ Python-2.7.10]# vim ./Modules/Setup    # 找到下边这一行内容,去掉注释
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
[root@iZwz948fbj8fd5kmzmmaiyZ Python-2.7.10]# make && make install

2.3查看一下pythont版本:

[root@iZwz948fbj8fd5kmzmmaiyZ Python-2.7.10]# python -V
Python 2.6.6
# 版本为2.6

2.7把我们安装的python2.7 替换为系统默认的python

# 备份python2.6
[root@iZwz948fbj8fd5kmzmmaiyZ Python-2.7.10]# mv /usr/bin/python /usr/bin/python2.6.6
# 替换(软连接)
[root@iZwz948fbj8fd5kmzmmaiyZ Python-2.7.10]# ln -s /usr/local/python27/bin/python2.7 /usr/bin/python

2.5再查看一下python版本:

查看之前先做下面这步:

[root@iZwz948fbj8fd5kmzmmaiyZ Python-2.7.10]# vim /etc/ld.so.conf
# 添加如下一行内容
/usr/local/python27/lib

[root@iZwz948fbj8fd5kmzmmaiyZ Python-2.7.10]# ldconfig  # 使新添加的路径生效

不然会报错:

[root@iZwz948fbj8fd5kmzmmaiyZ Python-2.7.10]# python -V
./python2.7: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
# 原因:linux系统默认没有把/usr/local/python27/lib路径加入动态库搜索路径

2.6查看一下

[root@iZwz948fbj8fd5kmzmmaiyZ Python-2.7.10]# python -V
Python 2.7.10
# 版本为2.7

至此,python2.7就安装好啦

三,解决yum兼容性问题

因为 yum 是不兼容 Python 2.7 的,所以 yum 不能正常工作,我们需要指定 yum 的 Python 为 2.6。

3.1 升级 python 后 yum 出现的问题

[root@iZwz948fbj8fd5kmzmmaiyZ Python-2.7.10]# cd ~
[root@iZwz948fbj8fd5kmzmmaiyZ ~]# yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named yum

........

3.2 编辑 yum 配置文件

[root@iZwz948fbj8fd5kmzmmaiyZ ~]# vim /usr/bin/yum 
#!/usr/bin/python
# 第一行修改为 python2.6.6, 为什么是python2.6.6 ?请看2.7小节点
#!/usr/bin/python2.6.6

3.3 验证 yum 问题解决

[root@iZwz948fbj8fd5kmzmmaiyZ ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                                                   repo name     
.......

四,安装pip工具

因为我们的django包都是通过pip安装的

4.1 安装

[root@iZwz948fbj8fd5kmzmmaiyZ ~]# wget https://bootstrap.pypa.io/get-pip.py
[root@iZwz948fbj8fd5kmzmmaiyZ ~]# python get-pip.py

4.2 建立软链接

# 如果存在/usr/bin/pip 先删除
[root@iZwz948fbj8fd5kmzmmaiyZ ~]# rm -rf /usr/bin/pip

#再建立软链接
[root@iZwz948fbj8fd5kmzmmaiyZ ~]# ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip

4.3 验证

[root@iZwz948fbj8fd5kmzmmaiyZ /]# pip

Usage:   
  pip <command> [options]

Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
.......

猜你喜欢

转载自blog.csdn.net/wan271920545/article/details/86493107