在上一篇咱們在本地的虛擬服務器上安裝好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