在上一篇我们在本地的虚拟服务器上安装好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/

  

python服务器环境搭建(2)——安装相关软件的更多相关文章

  1. python服务器环境搭建——安装相关软件

    在上一篇我们在本地的虚拟服务器上安装好CentOS7后,我们的python web服务.自定义的python service或python脚本需要在服务器上运行,还需要在服务器安装各种相关的软件才行, ...

  2. python服务器环境搭建(3)——参数配置

    前面我们已安装好了python服务器运行所需要的相关软件,而最重要最繁琐的就是参数配置,写这篇就踩了好多坑,花了好多时间,遇到了各种各样的问题.好了费话少说,直接进入本篇话题. PS:本人不是专业的运 ...

  3. python服务器环境搭建Flask,uwsgi和nginx

    python服务器环境搭建Flask,uwsgi和nginx 环境配置 服务器配置  [部署系统环境Ubuntu] 使用python的Flask框架搭建好网页后台后,便要开始将网站部署到服务器平台了. ...

  4. centos 7.3 服务器环境搭建——MySQL 安装和配置

    centos 7.3 服务器环境搭建——MySQL 安装和配置服务器信息如下:服务器:阿里云系统 centos 7.3 (阿里云该版本最新系统)mysql版本:5.7.18 (当前时间最新版本)连接服 ...

  5. python服务器环境搭建(1)——本地服务器准备

    去年十月底到新公司上班,由于公司旧系统存在各种问题同时不便于扩展,而公司领导对17年寄予很大的期望,用户量.收入要上一个新台阶,我经过全面评估后,决定全部用python重构过,开发一个基于微服务架构的 ...

  6. appium+python+iOS 环境搭建,安装fbsimctl

    (1)设置postBuffer的值 开始如下的安装之前,需先修改postBuffer的值,默认的比较下,会导致下载大文件时失败, 参考链接:http://blog.sina.com.cn/s/blog ...

  7. ubuntu下python flask环境搭建

    ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...

  8. LNAMP服务器环境搭建(手动编译安装)

    LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...

  9. 阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装

    阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装 最近琢磨着想在服务器上搭建一个hexo博客,于是就在阿里云上买了一个云服务器ECS,远程接入后默认给的是一个命令窗口,没有图形界面, ...

随机推荐

  1. Spark工作机制简述

    Spark工作机制 主要模块 调度与任务分配 I/O模块 通信控制模块 容错模块 Shuffle模块 调度层次 应用 作业 Stage Task 调度算法 FIFO FAIR(公平调度) Spark应 ...

  2. firefox浏览器相关的2个坑

    今天遇到一个bug,找回密码的功能在google浏览器正常,在firefox浏览器不正常.在排查该bug的过程中遇到2个坑.先总结一下: 1.firefox浏览器无法debug,“脚本”面板提示:本页 ...

  3. jquery的deferred异步

    推荐方法: var wait = function(dtd){ var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象 var tasks = function( ...

  4. cordova调用本地SQLite数据库的方法

    第一篇技术博客,写下来和大家分享今天所学,其次自己也巩固一下. 整个下午的时间用来钻研如何用cordova调用移动端本地SQLite数据库.首先我并不是用eclipse来编程的,而是用cordova建 ...

  5. Asp.net mvc 知多少(六)

    本系列主要翻译自<ASP.NET MVC Interview Questions and Answers >- By Shailendra Chauhan,想看英文原版的可访问http:/ ...

  6. Python单元测试——深入理解unittest

    单元测试的重要性就不多说了,可恶的是python中有太多的单元测试框架和工具,什么unittest, testtools, subunit, coverage, testrepository, nos ...

  7. 【G】开源的分布式部署解决方案(三) - 一期规划定稿与初步剖析

    G.系列导航 [G]开源的分布式部署解决方案 - 预告篇 [G]开源的分布式部署解决方案(一) - 开篇 [G]开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的 [G]开源的分布式 ...

  8. 安居客Android项目架构演进

    入职安居客三年从工程师到Team Leader,见证了Android团队一路走来的发展历程.因此有心将这些记录下来与大家分享,也算是对自己三年来一部分工作的总结.希望对大家有所帮助,更希望能得到大家宝 ...

  9. 一个基于注解的orm简单实现(二):实现思路

    先来看一段常见的数据库操作代码: ``` protected User getDataFromDatabase(long id){ String sql = "select firstnam ...

  10. htmlunit 导致高cup占用的坑

    原文:http://blog.csdn.net/qq_28384353/article/details/52974432#reply 将爬虫部署到服务器上运行后,在查看服务器的状态监控时发现,天猫爬虫 ...