之前做了十多年的.net,最近有興趣突然想研究點別的語言,選中了python,結果愈發不可收拾,越陷越深,喜歡上了python,主要是這種風格很讓我着迷,我現在甚至有放棄.net的念頭,花了一周的時間,也了解了周邊相關的知識,部署在虛擬機上,現在記錄於此:
--------------------------------------------------------升級python2.7.11-------------------------------------
下載好2.7.11,然后目錄下
./configure --prefix=/usr/local/python2.7
make && make install
然后在/usr/local/python2.7 會多出python2.7的文件夾
移動以前的,軟連接
mv /usr/bin/python /usr/bin/python275
ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python # 添加軟連接
注意以后安裝的python工具包例如easy_install,pip等,都會安裝在/usr/local/python2.7/bin 目錄下
要想直接使用這些命令還需要把/usr/local/python2.7/bin添加到$PATH變量中
1、編輯/etc/profile文件(永久生效)
vi /etc/profile
找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL這行上面加入
PATH=$PATH:/usr/local/python2.7/bin
重新初始化文件,使文件立即生效
source /etc/profile or . /etc/profile
--------------------------------------------------------然后yum將失靈-----------------------------------------
(#!/usr/bin/python)升級完2.7.11之后的樣子
#修改yum文件
vi /usr/bin/yum
將文件頭部的
#!/usr/bin/python
改為如下內容
#!/usr/bin/python275
(特別注意:有時候用yum安裝會提示異常,比如少了 urlgrabber-ext-down 這時需要vi /usr/libexec/urlgrabber-ext-down 然后把頭文件改成和vi /usr/bin/yum第一行一樣的,即#!/usr/bin/python275)
(題外話 yum下載的東東安裝后跑哪里去了 ,用rpm -ql 包名 來查查吧)
---------------------------------------------------------來安裝nginx吧-----------------------------------------
在解壓好的nginx-1.8.0目錄中
./configure --prefix=/home/tony/nginx-1.8.0
make
sudo make install
這個過程不能停啊...
啟動nginx服務器
sudo /home/tony/nginx-1.8.0/sbin/nginx -c /home/tony/nginx-1.8.0/conf/nginx.conf
其中/home/tony/nginx-1.8.0/sbin/nginx表示啟動程序,這里用全路徑更加直觀,可以根據自己的習慣做軟鏈接到系統路徑。
(題外話 如何重啟nginx 需要先kill了進程 ps -ef|grep nginx ps kill -9 進程號)
(題外話 查看端口被占用 lsof -i tcp:80)
--------------------------------------------------------該安裝虛擬環境virtualenv了------------------------------------------
先說說安裝這兩個
下載解壓 setuptool
python setup.py install
然后下載解壓 pip
python setup.py install
由於上面設置了,所以都安裝到新的python2.7.11中了
但是悲催的是,pip找不到命令......我用的筆記本安裝,據說台式機是好的
在pip-7.1.2目錄下
cd ..
sudo easy_install pip-7.1.2/
又報錯了,md,查看之后說要下載
發現命令運行會報錯。重新安裝python的distribution-0.6.49(0.7.3的會報錯)
下載distribution鏈接https://pypi.python.org/pypi/distribute/0.6.49
cd distribute-0.6.49
python setup.py install
還是不行啊!!
后來 我用了這個可以了
/usr/local/python2.7/bin/pip install virtualenv
(后來發現 在這個目錄下=>"/usr/local/python2.7/bin/" 用./pip install virtualenv 也行)
在pip中 安裝virtualenv (用root用戶裝)
創建如下
(/usr/local/python2.7/bin/python2.7下 ./)
./virtualenv -p /usr/local/python2.7/bin/python2.7 /home/tony/py2711env(后面不寫 就找不到裝哪里了)
激活
source /home/tony/py2711env/bin/activate(注意激活之前不要裝flask等等)
退出
deactivate
--------------------------------------------該安裝mongodb了----------------------------------------------------------
在bin里
dbpath=/home/tony/mongodb301/db
logpath=/home/tony/mongodb301/logs/mongodb.log
port=27017
fork=true
nohttpinterface=true
新建文件夾 logs 和 db
然后啟動吧
/home/tony/mongodb301/bin/mongod --config /home/tony/mongodb301/bin/mongodb.conf
(題外話 做成開機啟動)
配置開機自動啟動mongodb
vi /etc/rc.d/rc.local
在文件中加入:
/home/tony/mongodb301/bin/mongod --config /home/tony/mongodb301/bin/mongodb.conf
--------------------------------------------------安裝uwsgi------------------------------------------------------
先安裝相關依賴python-devel、setuptools,libxml2-devel,直接用yum安裝。如果是自行編譯安裝的python,可以不用安裝python-devel。
進入到 /usr/bin 里 用root用戶
sudo ./yum -y install python-devel python-setuptools libxml2-devel
下載uwsgi后解壓
python setup.py install
-----------------------------------------------------安裝flask等插件--------------------------------------------------------------
pip install flask 就是安裝最新的flask
---------------------------------------------------nginx集成到uwsgi-------------------------------------------------------------------------
uwsgi在nginx是標准模塊,所以不需要安裝。編輯nginx的配置文件,使其加載uwsgi。
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
root html;
index index.html index.htm;
}
修改完成后可以測試下配置文件是否沒有錯誤。
sudo /home/tony/nginx-1.8.0/sbin/nginx -t -c /home/tony/nginx-1.8.0/conf/nginx.conf
kill掉進程 重啟nginx
啟動uwsgi
在flask項目中,添加config.xml
<uwsgi>
<pythonpath>/home/tony/py2711env/app</pythonpath>
<module>manage</module>
<callable>app</callable>
<socket>127.0.0.1:4000</socket>
<master/>
<processes>4</processes>
<memory-report/>
</uwsgi>
啟動
sudo /usr/local/python2.7/uwsgi -x /home/tony/py2711env/app/appconfig.xml
如果不行
[root@localhost bin]# ./uwsgi -x /home/tony/py2711env/appconfig.xml
注意啦,犯了一個錯誤,之前的uwsgi是在建虛擬環境之前裝的,所以需要虛擬環境里在裝一遍
用pip install uwsgi
然后在虛擬環境中執行
uwsgi -x /home/tony/py2711env/app/appconfig.xml
---------------------------------------最后 配置一下虛擬機的ip------------------------------------------------
cd /etc/sysconfig/network-scripts
ls
編輯后
service network restart
別忘記橋接模式
-------------------------以后這樣就ok了---------------------------------
/home/tony/mongodb301/bin/mongod --config /home/tony/mongodb301/bin/mongodb.conf
source /home/tony/py2711env/bin/activate
sudo /home/tony/nginx-1.8.0/sbin/nginx -c /home/tony/nginx-1.8.0/conf/nginx.conf
uwsgi -x /home/tony/py2711env/appconfig.xml
大功告成!
