在上一篇我们在本地的虚拟服务器上安装好CentOS7后,我们的python web服务、自定义的python service或python脚本需要在服务器上运行,还需要在服务器安装各种相关的软件才行,一般来说,想要实现自动化部署需求,还需要安装nginx、svn、uwsgi、python3.0(系统自带python2.7.5)、supervisor、postgresql、pgbouncer、redis(nosql缓存根据自己代码的需要而定)。
PS:本人不是专业的运维,只能根据自己的研究弄弄单机版的python web服务器,而对于多服务器自动化同步的部署、服务器的监控、Linux服务器的安全、服务器的调优(很多服务安装不是重点,能将各种参数运用配置到洽到好处才是难点),大家最好找专业的运维工程师来处理。再一次感谢小戴同学的尽心帮助,让我学会了很多服务器运维方面的知识,才有这篇文章。(在这里帮小戴做做广告:人品好、技术牛、外包费用低,我们公司服务器维护外包给了他,配置各种服务器非常快,想学python与自动化运维的可以上他的博客http://www.linuxyw.com/)
一、nginx安装
首先登录官网下载安装包:
http://nginx.org/en/download.html
复制下载地址:http://nginx.org/download/nginx-1.10.3.tar.gz
打开SSH Secure Shell Client,登录服务
nginx安装,需要安装pcre开发包,openssl,gcc编译源码所需的工具,zlib库,网络下载工具等
可以逐项直接输入下面命令进行安装(如果出现y/n/d选择时,输入y加回车就可以了)
yum install -y pcre-devel
yum install -y openssl openssl-devel
yum install gcc gcc-c++ ncurses-devel perl
yum -y install zlib zlib-devel
yum install wget
为了方便下载内容的管理,而不是将服务器里的文件搞的很乱,我们最好统一将文件下载到tmp文件夹或你自己指定的文件夹里
输入:cd /tmp/ 进入tmp文件夹
然后再次输入:wget http://nginx.org/download/nginx-1.10.3.tar.gz 就可以看到nginx很快下载下来了
然后我们对nginx-1.10.3.tar.gz进行解压缩操作
输入命令:tar -zxvf nginx-1.10.3.tar.gz
解压完后输入命令:ll 就会看到文件夹里多了一个 nginx-1.10.3 文件夹
然后进入这个文件夹进行安装,安装时不指定路径的话,会默认安装到/usr/local/nginx/这个路径下
输入命令:cd nginx-1.10.3
输入nginx安装命令:./configure && make && make install
完成nginx安装后,我们可以检查一下nginx能否正常启动
输入nginx初次启动命令:/usr/local/nginx/sbin/nginx
检查nginx是否在进程中:ps -ef | grep nginx (可以看到nginx已在服务器上正常 运行了)
检查nginx启动后点用的端口:netstat -antup | grep nginx
这时如果想要用浏览器访问的话,需要先关闭防火墙才行
输入命令:systemctl stop firewalld
然后打开浏览器,输入地址:http://192.168.0.128/ 就可以看到下面的页面了(这个ip怎么来的,请看上一篇《python服务器环境搭建(1)——本地服务器准备》,也可以输入ifconfig命令来查询)
二、安装supervisor(Python进程管理器)
因为supervisor目前只支持python2,所以得在升级到3之前进行安装,不然会比较麻烦(文后附有升级到python3后,怎么调用python2安装的说明)
安装之前需要先安装python的pip(程序自动安装程序)
输入命令:curl https://bootstrap.pypa.io/get-pip.py | python (回车后就会自动下载pip并自动安装)
完成后查看pip版本:pip -V
安装supervisor:pip install supervisor
三、安装postgresql
登录postgresql官司网,获取使用yum安装的地址
在浏览器登录进入:https://yum.postgresql.org/
可以看到postgresql可以使用yum安装的列表
点击你要安装的版本链接,然后找到你要安装的版本地址,将它复制出来
https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
安装postgresql:yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
安装postgresql服务与扩展包:yum install postgresql96-server postgresql96-contrib (如果是其他版本,只需要修改中间对应的版本数字即可)
四、安装pgbouncer(postgresql连接池工具)
上官网选择需要安装的版本,并下载安装包:https://pgbouncer.github.io/downloads/
首先需要安装依赖包:yum install -y libevent-devel
进入tmp文件夹:cd /tmp/
然后再次输入:wget https://pgbouncer.github.io/downloads/files/1.7.2/pgbouncer-1.7.2.tar.gz
解压缩安装包:tar -zxvf nginx-1.10.3.tar.gz
进入安装包文件夹:cd pgbouncer-1.7.2
执行安装命令:./configure && make && make install
五、安装redis
登录http://download.redis.io/releases/ 选择需要安装的版本
进入tmp文件夹:cd /tmp/
然后再次输入:wget http://download.redis.io/releases/redis-3.2.8.tar.gz
解压缩安装包:tar -zxvf redis-3.2.8.tar.gz
进入安装包文件夹:cd redis-3.2.8
执行安装命令:make && make install
六、升级python到3.5.2版本
PS:由于升级到python3以后,在yum安装一些软件时(只是部分),可能这些软件的安装还是使用python2来写的,会导致无法使用yum安装,所以最好将相关内容先安装好以后再进行升级
首先还是登录官网,找到对应的下载链接
https://www.python.org/downloads/
点击进入下载页面
将下载地址复制出来:https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
输入:cd /tmp/ 进入tmp文件夹
然后输入命令下载源文件:wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
输入命令进行解压缩:tar -zxvf Python-3.5.2.tgz
进入解压后的文件夹:cd Python-3.5.2
安装Python3.5.2:./configure && make && make install
完成python3.5.2的安装,这时实现上在系统中,它和python2.7.5是同时存在的,现在直接操作python进入的还是旧版本(可以输入命令:python -V 查看当前的python版本),还需要做下面配置才行
输入命令重命名python软链接:mv /usr/bin/python /usr/bin/python2.7.5
创建新的链接指向新安装的python3.5.2:ln -s /usr/local/bin/python3.5 /usr/bin/python
这时再输入命令:python -V 就可以看到当前的python版本为3.5.2了
升级以后,由于python的版本不同,yum安装命令就失效用不了了,所以我们还需要修改yum的配置
输入命令:vi /usr/bin/yum
进入vi编辑器后,按一下键盘 i 就可以进入编辑模式,修改里面的内容
将第一行的#!/usr/bin/python 改为 #!/usr/bin/python2.7.5
修改完成后,按一下键盘的 Esc 键,退出编辑,然后按 Shift + : 进入vi编辑器的命令模式,输入wq + 回车键,就可以保存并退出了,这样yum命令又可以正常使用了
pip升级到最新版(由于有一些python3模块的安装需要用到pip的最新版,所以需要将pip升级到最新版本)
输入命令:pip install --upgrade pip
七、安装uwsgi
输入安装命令:pip install uwsgi
输入命令:uwsgi --version 就可以查询到安装的版本了
八、安装svn服务
由于已升级到python3了,直接使用yum安装会出现错误,所以我们需要操作一下,改回python2版本
删除之前创建的python3链接:rm /usr/bin/python
将之前备份的python2.7.5复制为python:cp /usr/bin/python2.7.5 /usr/bin/python
输入安装命令:yum install subversion
查看svn安装的版本:svnserve --version
另外,升级到python3以后,如果还需要使用pip安装python2的一些模块时,进行上面操作后,就可以使用下命令执行pip进行安装
pip命令:/usr/bin/pip2 install xxx
PS:一定要将python链接指向python2,不然执行的还是python3版本的命令
将python链接重新指向python3.5.2
删除刚刚复制的python链接:rm /usr/bin/python
创建新的链接指向新安装的python3.5.2:ln -s /usr/local/bin/python3.5 /usr/bin/python
python服务器需要的相关软件基本上就安装完成了(当然redis与postgresql并不是python服务器运行的必要软件,这是我自己框架所需要的),具体测试与配置,下一篇再写
版权声明:
本文由AllEmpty原创并发布于博客园,版权与博客园共同所有,欢迎转载,未经本人同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如有问题,可以通过1654937@qq.com 联系我,非常感谢。
发表本编内容,主要是为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:327360708 ,大家一起探讨。
更多内容,敬请观注博客:http://www.cnblogs.com/EmptyFS/