博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
建站随手记:installation python virtualenv mezzanine -1
阅读量:5847 次
发布时间:2019-06-18

本文共 5235 字,大约阅读时间需要 17 分钟。

aliyun的网络访问有时会有问题,pip有问题的时候使用豆瓣源

pip install $apptoinstall$ -i http://pypi.douban.com/simple

------------------------------------------------------------------------------------

Step1.Perpare the basic packages

1.instal pip and fabric

sudo easy_install pip # no pip in ubuntu < 10, make suresudo pip install --upgrade virtualenv virtualenvwrappersudo pip install --upgrade 'fabric>=1.0'

 

2.install compiler

sudo apt-get --yes install build-essential python-setuptools python-dev \                   python-software-properties

3.install C lib for PIL

这个是为mezzanine准备的,Pillow自动安装的时候不会自动装,mezzanine的上传功能不能使用。

sudo apt-get install --yes libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev \                           liblcms1-dev libwebp-dev python-dev

----------------------------------------------------------------------------

Step 2.Setup Mezzinine in VirtualEnv

0.perpare folds

mkdir -p /srv/www/open-ivi.org/public_html/staticmkdir  /srv/www/open-ivi.org/applicationmkdir  /srv/www/open-ivi.org/logs

 

1. create virtualenv

 

export WORKON_HOME=/srv/www/open-ivi.org/

mkdir $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh

cd $WORKON_HOME

mkvirtualenv open-ivi.org

#rmvirtualenv open-ivi.org # use this command to remove the env if you are in trouble

######################################################################

# How to enter this virtual env again 

 cd /srv/www/open-ivi.org/

 source /srv/www/open-ivi.org/open-ivi.org/bin/activate

######################################################################

2.install packages 

pip install pillow    --------------------------------------------------------------------    *** TKINTER support not available    --- JPEG support available    --- ZLIB (PNG/ZIP) support available    --- LIBTIFF support available    --- FREETYPE2 support available    *** LITTLECMS2 support not available    --- WEBP support available    *** WEBPMUX support not available    --------------------------------------------------------------------pip install mezzanine south django-compressor

 3. try to work with sqlite3

mezzanine-project siterootchmod 777 -R *.py #make it as execd siteroot./manage.py createdb --noinput # usrname:admin pwd:default./manage.py runserver 0.0.0.0:9999#then check it with your browser

So great! It works.Then let's create the server stack .

------------------------------------------------------------------------------------

Step3.Make Gunicorn works

0.Make Sure django works with the deploy env

#go there to find a key : #edit  siteroot/deploy/live_setting.py SECRET_KEY =

 

1.install gunicorn

gunicorn18.0 droped gunicorn_django so let's use old version.

pip install gunicorn==17.5 #make www-data own the folder chown -R www-data:www-data /srv/www

2.test gunicorn

gunicorn siteroot.wsgi:application --bind 0.0.0.0:80

3.add gunicorn conf to project root

#we use the code from deploy/gunicorn.conf.pyfrom __future__ import unicode_literalsimport osimport multiprocessingbind = "127.0.0.1:8023"workers = multiprocessing.cpu_count() * 2 + 1 #old method have problem with the system use multiprocessing class for replacement #workers = (os.sysconf("SC_NPROCESSORS_ONLN") * 2) + 1loglevel = "error"proc_name = "openivi"

 

4. install supervisor

apt-get install supervisor ngnix

 

5.make gunicorn run while reboot

vi /etc/supervisor/conf.d/openivi.conf#add codes below

[group:openivi]

programs=gunicorn_openivi

 

[program:gunicorn_openivi]

command=/datadsk/siteroot/bin/gunicorn_django -c gunicorn.conf.py -p gunicorn.pid
directory=/datadsk/siteroot/openivi
user=root
autostart=true
autorestart=true
redirect_stderr=true
environment=PATH="/datadsk/siteroot/bin"

 

6.try it!

supervisorctl reload

CSS won't be found when we use gunicorn, let nginx do with the statics.

Step4.Work with Nginx

we already installed ngnix in step3

1.config it! Add file to /ete/nginx/sites-enabled/openivi.conf as below.

upstream openivi {    server 127.0.0.1:8023;}server {    listen 80;#    listen 443 ssl;    server_name localhost;    client_max_body_size 10M;    keepalive_timeout    15;#    ssl_certificate      conf/%(proj_name)s.crt;#    ssl_certificate_key  conf/%(proj_name)s.key;#    ssl_session_cache    shared:SSL:10m;#    ssl_session_timeout  10m;#    ssl_ciphers RC4:HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers on;    location / {        proxy_redirect      off;        proxy_set_header    Host                    $host;        proxy_set_header    X-Real-IP               $remote_addr;        proxy_set_header    X-Forwarded-For         $proxy_add_x_forwarded_for;        proxy_set_header    X-Forwarded-Protocol    $scheme;        proxy_pass          http://openivi;    }    location /static/ {        root            /datadsk/siteroot/openivi;        access_log      off;        log_not_found   off;    }    location /robots.txt {        root            /datadsk/siteroot/openivi/static;        access_log      off;        log_not_found   off;    }    location /favicon.ico {        root            /datadsk/siteroot/openivi/static/img;        access_log      off;        log_not_found   off;    }}

 @we used nginx for static pass-though, don't forget to collect all static file to the root folder. manage.py have this feature which provided by django framework.

 Test it ,Shoud be works.

转载地址:http://ybwjx.baihongyu.com/

你可能感兴趣的文章
KMeans (K均值)算法讲解及实现
查看>>
为什么不应该使用Zookeeper做服务发现?(转载)
查看>>
《JavaScript核心概念及实践》——2.2 变量
查看>>
关于java 1.8的Lambda表达式详解
查看>>
各个网站的CSS清除代码
查看>>
TableView的集合
查看>>
软RAID管理命令mdadm详解
查看>>
控制器 控制器view cell的关系
查看>>
Eclipse RCP 玩转 Spring
查看>>
我的友情链接
查看>>
Nginx的健康检查机制
查看>>
Nginx介绍及企业web服务软件选择
查看>>
计算机书籍备忘
查看>>
esxi虚拟机中系统克隆及迁移的方法
查看>>
Linux必学的62条命令 (4)
查看>>
App_Offline.htm 功能
查看>>
java之旅
查看>>
解决linux虚拟机不能上网的问题
查看>>
恢复Reflector反编译后资源文件的办法
查看>>
HandlerExceptionResolver异常解析器家族揭秘
查看>>