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

在上一篇咱们在本地的虚拟服务器上安装好CentOS7后,咱们的python web服务、自定义的python service或python脚本须要在服务器上运行,还须要在服务器安装各类相关的软件才行,通常来讲,想要实现自动化部署需求,还须要安装nginx、svn、uwsgi、python3.0(系统自带python2.7.5)、supervisor、postgresql、pgbouncer、redis(nosql缓存根据本身代码的须要而定)。html

  PS:本人不是专业的运维,只能根据本身的研究弄弄单机版的python web服务器,而对于多服务器自动化同步的部署、服务器的监控、Linux服务器的安全、服务器的调优(不少服务安装不是重点,能将各类参数运用配置到洽到好处才是难点),你们最好找专业的运维工程师来处理。再一次感谢小戴同窗的尽心帮助,让我学会了不少服务器运维方面的知识,才有这篇文章。(在这里帮小戴作作广告:人品好、技术牛、外包费用低,咱们公司服务器维护外包给了他,配置各类服务器很是快,想学python与自动化运维的能够上他的博客http://www.linuxyw.com/)html5

 

  1、nginx安装python

  首先登陆官网下载安装包:linux

  http://nginx.org/en/download.htmlnginx

  

  复制下载地址:http://nginx.org/download/nginx-1.10.3.tar.gzc++

 

  打开SSH Secure Shell Client,登陆服务git

  

  nginx安装,须要安装pcre开发包,openssl,gcc编译源码所需的工具,zlib库,网络下载工具等github

  能够逐项直接输入下面命令进行安装(若是出现y/n/d选择时,输入y加回车就能够了)web

  yum install -y pcre-develredis

  yum install -y openssl openssl-devel

  yum install gcc gcc-c++ ncurses-devel perl -y

  yum -y install zlib zlib-devel -y

  yum install wget -y

  yum install kernel-devel libxslt-devel libpqxx-devel libffi-devel python-devel zlib-devel openssl-devel libpq-dev -y

 

  为了方便下载内容的管理,而不是将服务器里的文件搞的很乱,咱们最好统一将文件下载到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/这个路径下

  添加nginx使用的用户组:groupadd www

  添加nginx使用的账号:useradd -g www www -s /bin/false

 

  输入命令:cd nginx-1.10.3

  输入nginx安装命令:./configure && make && make install  (这是默认安装,若是你想要附加nginx的相关插件的话--好比pcre、zlib等,须要另外安装其余包,并在这里进行编译)

  

  完成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命令来查询)

  

 

 

  2、安装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

 

  3、安装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  (若是是其余版本,只须要修改中间对应的版本数字便可)

  

  4、安装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 pgbouncer-1.7.2.tar.gz

  进入安装包文件夹:cd pgbouncer-1.7.2

  执行安装命令:./configure && make && make install

 

  5、安装redis

  登陆http://download.redis.io/releases/ 选择须要安装的版本

  进入tmp文件夹:cd /tmp/

  而后再次输入:wget http://download.redis.io/releases/redis-3.2.8.tar.gz

  建立redis安装文件夹:mkdir /usr/local/redis

  解压缩安装包:tar -zxvf redis-3.2.8.tar.gz

  进入安装包文件夹:cd redis-3.2.8

  执行安装命令:make PREFIX=/usr/local/redis/ install

  上面安装命令执行完成,/usr/local/redis/目录下就有个bin目录,里面放的是redis服务相关的可执行命令

  复制redis配置文件到指定目录:cp redis.conf /usr/local/redis

 

  6、安装python3.5.2版本(python2.7.5还能够继续使用)

  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升级到最新版本)

  输入命令:pip3 install --upgrade pip

 

  批量安装python依赖包:

  输入命令:vi requirements.txt    粘贴下面内容

 

复制代码
argh
asn1crypto
Beaker
beakeredis
bleach
bottle
cffi
click
cryptography
cycler
gevent
greenlet
html5lib
idna
itsdangerous
Jinja2
jpush
lxml
MarkupSafe
matplotlib
numpy
packaging
paramiko
pathtools
Pillow
print psycopg2 pyasn1 pycparser pycrypto pyparsing python-dateutil pytz PyYAML redis reload requests six typing watchdog webencodings Werkzeug XlsxWriter
复制代码

 

  保存后,输入命令:pip3 install -r requirements.txt

  安装程序会将里面经常使用的依赖包所有安装,方便快捷

 

  7、安装uwsgi

 

   输入安装命令:yum install uwsgi-plugin-python

  输入安装命令:yum install uwsgi-plugin-python3

  输入安装命令:pip3 install uwsgi

  输入命令:uwsgi --version 就能够查询到安装的版本了

 

  8、安装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 联系我,很是感谢。

原文连接:https://www.cnblogs.com/EmptyFS/p/6558800.html

相关文章
相关标签/搜索