python服务器环境搭建——安装相关软件
在上一篇我们在本地的虚拟服务器上安装好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 -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命令来查询)
二、安装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 pgbouncer-1.7.2.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
创建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
六、安装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
安装程序会将里面常用的依赖包全部安装,方便快捷
七、安装uwsgi
输入安装命令:yum install uwsgi-plugin-python
输入安装命令:yum install uwsgi-plugin-python3
输入安装命令:pip3 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 联系我,非常感谢。
原文链接:https://www.cnblogs.com/EmptyFS/p/6558800.html