一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

centos 部署 Nginx + uwsgi + django +mysql 多站點(diǎn)

 java_laq小館 2014-03-23

centos 部署 Nginx + uwsgi + django +mysql 多站點(diǎn)

分類: python django 752人閱讀 評論(0) 收藏 舉報(bào)

1.通常centos 都自帶有python ,centos5默認(rèn)的版本是2.43 建議安裝2.7 版本,安裝 ngixn(略)

2.安裝Python工具

  1. yum install python-devel libxml2  libxml2-devel  python-setuptools  zlib-devel wget openssl-devel pcre pcre-devel sudo gcc make autoconf automake   

3.安裝pip


  1. wget http://pypi.python.org/packages/source/p/pip/pip-1.0.2.tar.gz --no-check-certificate  
  2. tar xvfz pip-1.0.2.tar.gz   
  3. cd pip-1.0.2  
  4. python setup.py  install  

之所以安裝 pip ,我們后面可以用pip 命令直接安裝 uwsgi  和 django 

4.安裝uwsgi

pip install uwsgi

或者你可以去官網(wǎng)下載自己解壓編譯安裝

5.安裝virtualenv (主要用于多站點(diǎn)創(chuàng)建虛擬環(huán)境)


  1. pip  install virtualenv  

6.設(shè)置python 虛擬環(huán)境變量 
  1. mkdir /srv/vpython  
  2. cd /srv/vpython  
  3. virtualenv --no-site-packages mywebsite  
  4. cd /srv/vpython/mywebsite  
  5. source bin/activate  


會(huì)看到提示符前面多了一個(gè)(mywebsite)?,F(xiàn)在運(yùn)行python,可以看到sys.path已經(jīng)更改為/srv/vpython/mywebsite目錄下的各個(gè)包。

這個(gè)目錄下的是供該站點(diǎn)使用的虛擬包,換句話說我們再增加新站點(diǎn)的時(shí)候也要?jiǎng)?chuàng)建屬于它的虛擬包 不能共用一份哦

7.部署django

  1. cd  /srv/www/  
  2. django-admin.py  startproject mywebsite  

執(zhí)行完畢后會(huì)在/srv/www/下面生成website目錄 我們會(huì)發(fā)現(xiàn)在website 目錄下面還有一個(gè)website目錄。我們無需理會(huì)

在/srv/www/website/下創(chuàng)建 uwsgi.py 代碼如下:

  1. import sys  
  2. import os  
  3.   
  4. sys.path.append(os.path.abspath(os.path.dirname(__file__)))  
  5. sys.path.append('/srv/www')  
  6. os.environ['DJANGO_SETTINGS_MODULE'] = 'mywebsite.settings'  
  7.   
  8. import django.core.handlers.wsgi  
  9.   
  10. application = django.core.handlers.wsgi.WSGIHandler()  

8.修改默認(rèn)配置或者在conf.d目錄下添加mywebsite.conf
  1. vim  /etc/nginx/conf.d/mywebsite.conf  

添加代碼如下:
  1.     server {  
  2.   
  3.         listen       80 ;  
  4.   
  5.         server_name  127.0.0.1;  
  6.   
  7.   
  8.         root   /srv/www/mywebsite;  
  9.   
  10.         index  index.html index.htm;  
  11.             access_log /var/log/nginx/access.log ;  
  12.   
  13.         error_log /var/log/nginx/error.log ;  
  14.   
  15.         location / {  
  16.   
  17.             uwsgi_pass 127.0.0.1:3031;  
  18.   
  19.             include uwsgi_params;  
  20.                 uwsgi_param UWSGI_SCRIPT  uwsgi;    
  21.   
  22.             uwsgi_param UWSGI_PYHOME $document_root;  
  23.   
  24.             uwsgi_param UWSGI_CHDIR  $document_root;  
  25.   
  26.         }  
  27. }  


注意上面標(biāo)紅的地方是我們在在/srv/www/website/下創(chuàng)建 uwsgi.py 的文件名 不用帶.py

9.創(chuàng)建 uwsgi 的配置文件 可支持xml yaml ini等格式 我習(xí)慣用ini,將其放在etc目錄下,當(dāng)然你也可以放到其他地方

vim  /etc/uwsgi.ini 

添加代碼如下:

  1. [uwsgi]  
  2. socket=127.0.0.1:3031  
  3. master=true  
  4. vhost=true  
  5. gid=nginx  
  6. uid=nginx  
  7. workers=10  
  8. max-requests=1000  
  9. limit-as=512  
  10. pidfile=/var/run/uwsgi.pid  
  11. daemonize=/var/log/uwsgi.log  

注意我使用的端口是3031 因此我們可以看nginx 配置文件里的端口也是3031,還有注意有防火墻的話放行該端口,

裝完需要的包后,用deactivate命令退出虛擬環(huán)境。


10.創(chuàng)建 uwsgi的服務(wù)腳本,在lnmp nginx腳本上直接改的,支持stop start reload

vim  /etc/ini.d/uwsgi

  1. #! /bin/sh  
  2. # chkconfig: 2345 55 25  
  3. # Description: Startup script for uwsgi webserver on Debian. Place in /etc/init.d and  
  4. # run 'update-rc.d -f uwsgi defaults'or use the appropriate command on your  
  5. # distro. For CentOS/Redhat run: 'chkconfig --add uwsgi'  
  6.    
  7. ### BEGIN INIT INFO  
  8. # Provides:          uwsgi  
  9. # Required-Start:    $all  
  10. # Required-Stop:     $all  
  11. # Default-Start:     2 3 4 5  
  12. # Default-Stop:      0 1 6  
  13. # Short-Description: starts the uwsgi web server  
  14. # Description:       starts uwsgi using start-stop-daemon  
  15. ### END INIT INFO  
  16.    
  17. # Author:   licess  
  18. # website:  http://blog.csdn.net/youngqj  
  19.    
  20. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin  
  21. DESC="uwsgi daemon"  
  22. NAME=uwsgi  
  23. <span style="color:#ff0000">DAEMON=/usr/bin/uwsgi</span>  
  24. CONFIGFILE=/etc/$NAME.ini  
  25. PIDFILE=/var/run/$NAME.pid  
  26. SCRIPTNAME=/etc/init.d/$NAME  
  27.    
  28. set -e  
  29. [ -x "$DAEMON" ] || exit 0  
  30.    
  31. do_start() {  
  32.     $DAEMON $CONFIGFILE || echo -n "uwsgi already running"  
  33. }  
  34.    
  35. do_stop() {  
  36.     $DAEMON --stop $PIDFILE || echo -n "uwsgi not running"  
  37.     rm -f $PIDFILE  
  38.     echo "$DAEMON STOPED."  
  39. }  
  40.    
  41. do_reload() {  
  42.     $DAEMON --reload $PIDFILE || echo -n "uwsgi can't reload"  
  43. }  
  44.    
  45. do_status() {  
  46.     ps aux|grep $DAEMON  
  47. }  
  48.    
  49. case "$1" in  
  50.  status)  
  51.     echo -en "Status $NAME: \n"  
  52.     do_status  
  53.  ;;  
  54.  start)  
  55.     echo -en "Starting $NAME: \n"  
  56.     do_start  
  57.  ;;  
  58.  stop)  
  59.     echo -en "Stopping $NAME: \n"  
  60.     do_stop  
  61.  ;;  
  62.  reload|graceful)  
  63.     echo -en "Reloading $NAME: \n"  
  64.     do_reload  
  65.  ;;  
  66.  *)  
  67.     echo "Usage: $SCRIPTNAME {start|stop|reload}" >&2  
  68.     exit 3  
  69.  ;;  
  70. esac  
  71.    
  72. exit 0  


注意 上面紅色部分  安裝 方式不一樣可能存放的路徑不一樣,可以執(zhí)行 whereis  uwsgi   就能知道 uwsgi 的bin 路徑


添加執(zhí)行權(quán)限 

chmod +x uwsgi

11 安裝 mysql-server  mysql-devel  同時(shí)還要安裝 mysql-python


  1. yum install mysql-server  
  2. yum install mysql-devel  
  3. pip install mysql-python  



12 .啟動(dòng)  service  uwsgi start   service nginx start  service mysqld start 

13 .完畢


注意:如果要添加一個(gè)站點(diǎn) 我們要重復(fù) 創(chuàng)建python 虛擬環(huán)境 然后再安裝相應(yīng)的web框架 如 web.py 等

添加nginx 配置文件 特別注意 uwsgi_param UWSGI_PYHOME 要填寫正確哦。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产精品激情对白一区二区| 亚洲欧美黑人一区二区| 亚洲国产av国产av| 丝袜破了有美女肉体免费观看| 香港国产三级久久精品三级| 激情视频在线视频在线视频| 国产日韩欧美在线亚洲| 中文字幕一区二区三区大片| 亚洲国产av在线观看一区 | 亚洲午夜福利不卡片在线| 又黄又硬又爽又色的视频| 成人欧美精品一区二区三区| 日本一本在线免费福利| 99一级特黄色性生活片| 欧美黑人在线一区二区| 91老熟妇嗷嗷叫太91| 亚洲精品一区三区三区| 亚洲一区二区福利在线| 欧美日韩亚洲国产精品| 国产欧美日韩精品一区二区| 国产精品第一香蕉视频| 熟女少妇久久一区二区三区| 精品少妇一区二区三区四区| 欧美激情区一区二区三区| 亚洲国产av国产av| 久久re6热在线视频| 草草视频福利在线观看| 欧美精品在线观看国产| 亚洲中文字幕三区四区| 国产成人精品一区在线观看| 大尺度激情福利视频在线观看| 午夜福利视频日本一区| 欧美中文字幕日韩精品| 国产av精品一区二区| 国产福利在线播放麻豆| 激情爱爱一区二区三区| 99国产一区在线播放| 人人妻人人澡人人夜夜| 亚洲国产成人爱av在线播放下载| 久久本道综合色狠狠五月| 91亚洲人人在字幕国产|