天成1 发表于 2015-7-10 10:39:26

ubuntu10.04 + nginx + uwsgi + django +virtual + hg + mysql +mongodb

  接触linux时日不多,所以配起来比较麻烦。仅此记录我的步骤。公司要求离线安装,所以都是下载好了(最好下载deb),然后安装
  这里没太多细节。
  1:首先虚拟机设置共享。
  关键点: mount cdrom1 /mnt/xxx   。添加的盘片VboxGuestAdition 加载到cdrom1 然后挂载
  2:安装hg   http://www.iyunv.com/xiazh/archive/2012/07/31/2616474.html



tar -zvxf mercurial-1.7.1.tar.gz
error: command 'gcc' failed with exit status 1
sudo apt-get install python-dev
cd mercurial-1.7.1
/usr/local/python27/bin/python setup.py build
/usr/local/python27/bin/python setup.py install

  
  3:hg clone



hg clone ssh://administrator@192.168.1.155/d:hg/XXXXXX
  4:配python的库
  项目需要用到很多库,而且有些版本跟服务器位数有关;虚拟机ubuntu是32位
  关键点:(1)ubuntu的第三方库放在dist-packages下面 。做法就是将 本地的site-package 替换dist-package 。省去多那么多三方库的pip
  (2)还有将32位 如:pycharm copy 到
  5:拿取本地的settings.py(因为hg clone的时候不clone settings.py   .hgignore 中设置了) ,修改settings.py   主要是mysql 数据库名字,还有特别的和项目有关的常量。
  6:mysql db 安装



dpkg -ixx.deb

  7:创建数据库   (需要指定编码格式)



create database isurveylink5 default charset utf8



python manage.py syncdb   
python creat_user.py   #初始化数据库

  这里遇到一个环境变量的问题: shell 中输入一下就行。env 查看环境变量



export DJANGO_SETTINGS_MODULE=settings

  但遇到一个问题 ,xxx表 需要repire
repair table tablename
  8:安装pymongo . mongo
  还是需要装 .bed 格式
  9:安装nginx   uwsgi
  一开始是直接apt-get 结果nginx 是0.7版本 不支持 uwsgi ,之后又搞了一个 .tar.gz的。各种库都需要,之后连插件都需要装,然后
  果断找了一个bed版本。
  10:4个文件 .
  一个nginx.conf (其中include xxx.conf)还有 xxx.conf . 这么做便于下次直接换项目。
一个uwsgi.ini一个 uwsgi.py都放在了项目根目录下
  11:最后一步



nohup uwsgi --ini uwsgi.ini &

  12:设置开机启动。rc.local 中写入   uwsgi --ini uwsgi.ini。发现完全没效果。估计是 启动的先后顺序问题。。本身没深究。
  后来,用supervision进行 进程管理。并将supervision设为开机启动,
  supervision 管理的进程有 uwsgi .mongo.
  开机启动方式:
  http://serverfault.com/questions/96499/how-to-automatically-start-supervisord-on-linux-ubuntu
  
  13:总监的目标是做成一键安装。现在只是能手动布置起来,所以部署…………
  
  
  遇到问题的是:用supervision管理mysql的时候 ,发现:mysql 不停的重启。所以 没管理mysql。 而是设为开机启动。
  
  有关linux的开机启动还需要好好研究。(下篇文章研究)
  
  
  
  
页: [1]
查看完整版本: ubuntu10.04 + nginx + uwsgi + django +virtual + hg + mysql +mongodb