python伺服器環境搭建(2)——安裝相關軟體,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
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
六、安裝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升級到最新版本)
輸入命令: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/