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

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

  一、安装常用工具包

  输入下面命令,安装各种常用工具包,可以逐项直接输入下面命令进行安装(如果出现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
yum install wget lrzsz libxml2 -y
yum install kernel-devel libxslt-devel libpqxx-devel libffi-devel python-devel libpq-dev -y

  在使用yum安装各种工具包时,由于使用的源默认是国外的,所以有时有一些源由于网络或什么原因会安装不上,所以可以通过更改yum安装源来提升安装效率,下面是使用网易源(阿里源在虚拟机上好像使用不了,如果使用阿里云的话可以替换为阿里源)

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd /etc/yum.repos.d/
wget -O CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
## wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum -y update

  PS:如果Python已升级到3,更改yum源需要将python的软链接指回2的版本(即输入命令python -V可看到的是2.7版本),不然运行yum -y update后可能会出错,导至yum无法使用。另外,使用yum升级,好像会将内核一些程序也升级了。

  二、安装nginx服务

  首先在网上找到下面安装包(如果下面组件版本对不上,可能会造成nginx安装失败)

nginx-1.10.3.tar.gz
openssl-1.0.2n.tar.gz
pcre-8.39.tar.gz
zlib-1.2.11.tar.gz

  将它们上传到服务器:/usr/local/src 目录下面,openssl、pcre和zlib这些组件不安装问题也不大,不过这些常用的组件安装好了,以后需要时就不必重新安装了

  1、安装pcre

cd /usr/local/src
mkdir /usr/local/pcre
tar zxvf pcre-8.39.tar.gz
cd pcre-8.39
./configure --prefix=/usr/local/pcre
make
make install

  2、安装openssl

cd /usr/local/src
mkdir /usr/local/openssl
tar zxvf openssl-1.0.2n.tar.gz
cd openssl-1.0.2n
./config --prefix=/usr/local/openssl
make
make install
vi /etc/profile
在vi编辑器的最后面添加下面代码(vi编辑器的使用请自己百度)
export PATH=$PATH:/usr/local/openssl/bin
按esc键,输入:wq! 保存退出
输入下面代码让刚添加的代码生效
source /etc/profile

  3、安装zlib

cd /usr/local/src
mkdir /usr/local/zlib
tar zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make
make install

  4、安装Nginx

groupadd www
useradd -g www www -s /bin/false
cd /usr/local/src
tar zxvf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.2n --with-zlib=/usr/local/src/zlib-1.2.11 --with-pcre=/usr/local/src/pcre-8.39
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  (如果是其他版本,只需要修改中间对应的版本数字即可)

  

  五、安装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.4版本(python2.7.5还可以继续使用)

  PS:由于升级到python3以后,在yum安装一些软件时(只是部分),可能这些软件的安装还是使用python2来写的,会导致无法使用yum安装,所以最好将相关内容先安装好以后再进行升级

  安装python依赖包:

yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

  下载Python3.5.4安装包并进行安装

cd /usr/local/src
wget https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tgz
tar -zxvf Python-3.5.4.tgz
cd Python-3.5.4
./configure --prefix=/usr/local --enable-shared && make && make install

  在运行Python之前需要配置库:

echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf
ldconfig

  备份python2.7版本bin

mv /usr/bin/python /usr/bin/python2.7.5
ln -s /usr/local/bin/python3 /usr/bin/python

  完成安装,输入下面命令就可以查看到当前安装python的版本信息Python 3.5.4了

python --version

  升级pip3安装包

pip3 install --upgrade pip

  修改python2.7版本运行的脚本链接,将以下文件全部用vi编辑器打开,将第一行的 #!/usr/bin/python 改为 #!/usr/bin/python2.7.5

vi /usr/bin/yum
vi /usr/sbin/tuned
vi /usr/libexec/urlgrabber-ext-down

  批量安装python3各种常用包

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

amqp
anyjson
argh
asn1crypto
Beaker
beakeredis
beautifulsoup4
bleach
bottle
bs4
cffi
click
cryptography
cycler
decorator
dynaconf
enum-compat
eventlet
flasgger
Flask
gevent
greenlet
html5lib
idna
itsdangerous
Jinja2
jpush
jsonschema
kombu
lxml
MarkupSafe
matplotlib
mistune
mock
Naked
nameko
networkx
numpy
olefile
packaging
panda
pandas
paramiko
pathtools
path.py
pbr
Pillow
print
psycopg2
psycopg2-binary
pyasn1
pycparser
pycrypto
pycryptodome
pyparsing
python-dateutil
python-alipay-sdk
python-box
python-dateutil
python-dotenv
pytz
PyWavelets
PyYAML
qrcode
redis
reload
requests
scikit-image
scipy
shellescape
six
typing
tushare
watchdog
webencodings
Werkzeug
wrapt
XlsxWriter
yagmail

View Code

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

  安装程序会将里面常用的依赖包全部安装,方便快捷

  PS:使用源码包编译安装python3以后,还会保留原python2的相关命令,所以直接使用pip安装的是python2的包,要安装python3的包,必须使用pip3

  七、安装uwsgi

  安装pepl源(不安装有时安装相关模块时会找不到源)

yum -y install epel-release

  安装uwsgi依赖包

yum -y install uwsgi-devel

  安装下面两项时,有时候没有按前面的操作更换为国内的源,输入下面命令可能后两项安装不上,导致最终uwsgi运行出错,所以代码运行完成后要认真看看是否安装成功了

yum -y install uwsgi-plugin-python uwsgi-plugin-python3

  如果出现下面提示,那就得想办法装上才行,不然uwsgi运行时很容易出错

No package uwsgi-plugin-python available.
No package uwsgi-plugin-python3 available.

  下载uwsgi安装包

cd /usr/local/src/
wget https://projects.unbit.it/downloads/uwsgi-2.0.16.tar.gz
tar zxvf uwsgi-2.0.16.tar.gz
cd uwsgi-2.0.16
make -j 8
python uwsgiconfig.py --build
cp uwsgi /usr/bin/

  修改配置文件:vi buildconf/core.ini  (在 buildconf/core.ini 文件中添加下面内容)

plugin_dir = /etc/uwsgi
bin_name = /usr/bin/uwsgi

  创建uwsgi配置存放文件夹

mkdir /etc/uwsgi

  编译 python3.5 版本的uwsgi plugins

python uwsgiconfig.py --plugin plugins/python core python35

  把生成好的*python35*.so复制到/usr/lib64/uwsgi/下面

cp /etc/uwsgi/python35_plugin.so /usr/lib64/uwsgi/cp /etc/uwsgi/python35_plugin.so /usr/local/src/uwsgi-2.0.16

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

  八、安装svn服务

  由于已升级到python3了,直接使用yum安装会出现错误,所以我们需要操作一下,改回python2版本(PS:这是一个安装了Python3后,需要使用Python2进行安装软件的例子)

  删除之前创建的python3链接:rm -rf /usr/bin/python

  将之前备份的python2.7.5复制为python:cp /usr/bin/python2.7.5 /usr/bin/python

  输入安装命令:yum install subversion

  查看svn安装的版本:svnserve --version

  PS:一定要将python链接指向python2,不然执行的还是python3版本的命令

  将python链接重新指向python3.5.2

  删除刚刚复制的python链接:rm -rf /usr/bin/python

  创建新的链接指向新安装的python3.5.4:ln -s /usr/local/bin/python3 /usr/bin/python

  python服务器需要的相关软件基本上就安装完成了(当然redis与postgresql并不是python服务器运行的必要软件,这是我自己框架所需要的),具体测试与配置,下一篇再写

 版权声明:

  本文由AllEmpty原创并发布于博客园,版权与博客园共同所有,欢迎转载,未经本人同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如有问题,可以通过1654937@qq.com 联系我,非常感谢。

 发表本编内容,要是为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:669058475(本群已满)、733466321(可以加2群),大家一起探讨。

  更多内容,敬请观注博客:http://www.cnblogs.com/EmptyFS/

python服务器环境搭建(2)——安装相关软件相关推荐

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

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

  2. 【PYTHON的环境搭建和安装(基于vscode下)】

    PYTHON的环境搭建和安装(vscode下) 一.Vscode与python 1.安装python 2.安装vscode 3.安装插件 4.打开工作目录 5.测试一下 二.作业 三.要求定义两个数, ...

  3. 阿里云 linux服务器环境搭建学习 安装jdk(一)

    由于公司用于工作开发的电脑性能不佳,平时在工作过程中没问题,但是自己去研究一下新框架的时候,一下跑2个idea+4-5个timcat时性能就不够用了,所以自己购买了一台低配的阿里云服务器,用于自己平时 ...

  4. python服务器环境搭建_服务器python环境搭建

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python搭建服务器以快捷著称,实际上,我们也可以使用python搭建简易的服 ...

  5. python开发环境搭建---pyenv安装python3.5.2

    操作系统:Centos 7.2 安装版本:Python 2.5.2 一.安装git yum install git epel-release python-pip 二.安装pyenv pyenv可以在 ...

  6. Centos6.5服务器环境搭建之安装Tomcat以及开机自启动的配置

    1.下载:http://tomcat.apache.org/download-70.cgi(tomcat的版本自行选择) 2.解压 cd /opt/apache tar -xvzf apache-to ...

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

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

  8. Python开发环境搭建

    Python开发环境搭建 概述 安装Python3.7.6 安装PyQt及Eric6依赖包 安装Eric6 测试Eric6和PyQt 安装Pycharm 安装Pycharm 配置Pycharm Qt工 ...

  9. python+uiautomation环境搭建

    python+uiautomation环境搭建 1.安装python 下载地址:https://www.python.org/ 2.安装uiautomation 安装pip,步骤略(一般装完pytho ...

最新文章

  1. 设计模式之备忘录模式(Memento)摘录
  2. 打破深度学习局限,强化学习、深度森林或是企业AI决策技术的“良药”
  3. Centos7安装防火墙firewall
  4. ORACLE中的异常处理
  5. Oracle 数据库中对记录进行分页处理
  6. Linux中ACL权限设置
  7. JQzoom的一些问题
  8. [导入]在asp.net中利用FileUplad控件从同一个页面上传多个文件
  9. 天翼宽带怎么开虚拟服务器,天翼宽带怎么设置无线路由器?
  10. Power Query For Excel数据处理利器
  11. 2021-01-03
  12. 【版本控制】git学习笔记(一)
  13. 史上最全最准的支付行业常用名词解释精选
  14. 解决异常:Premature end of chunk coded message body: closing chunk expected
  15. kali安装网易云1.1和打不开问题解决
  16. linux 3.0实时性,如何1分钟内对 Linux 性能快速分析(113资讯网)
  17. android手机管理器在哪里打开,小米手机任务管理器在哪?怎么打开?
  18. 微信公众平台入门到精通-新浪云计算平台注册和使用
  19. win10輸入法,繁體字,簡體字切換
  20. Titanic 泰坦尼克号预测-Tensorflow 方法-【Kaggle 比赛】

热门文章

  1. NOIP2018 No regrets youth
  2. oracle 数据结构部署,
  3. 记录pageHelper分页orderby的坑
  4. Django实现发邮件
  5. php 递归求得目录大小
  6. 解决chrome在docky上的图标模糊或不能锁定的问题
  7. GitForWindows工具集(GitBash命令行)
  8. PostgreSQL相关知识概念
  9. Kerberos认证过程学习理解
  10. 二进制位运算中‘1’的个数