建站随手记:installation python virtualenv mezzanine -1
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 sure
sudo pip install --upgrade virtualenv virtualenvwrapper
sudo 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/static
mkdir /srv/www/open-ivi.org/application
mkdir /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 siteroot
chmod 777 -R *.py #make it as exe
cd 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 :http://www.miniwebtool.com/django-secret-key-generator/
#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.py
from __future__ import unicode_literals
import os
import multiprocessing bind = "127.0.0.1:8023"
workers = multiprocessing.cpu_count() * + 1
#old method have problem with the system use multiprocessing class for replacement
#workers = (os.sysconf("SC_NPROCESSORS_ONLN") * ) +
loglevel = "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.
建站随手记:installation python virtualenv mezzanine -1的更多相关文章
- 建站随手记:about server stack
建站需要,随手记: Server Stack: ----------- 标准的mezzanine的Stack设置 前端:Nginx wsgi:gunicorn cms tool: mezzanine ...
- Drupal 7 建站学习手记(四):怎样改动Nivo Slider模块的宽高
背景 Nivo Slider模块默认大小是用的height: 100%, width 100%, 但IE7及下面的浏览器是不支持百分比宽高的, 而我的项目目标用户基本都是使用XP系统,项目需求是必须兼 ...
- Drupal 7 建站学习手记(五):QuickTabs模块内的元素无法溢出的问题
背景 项目要求站点首页放Views生成的区块,而且要求有很多其它链接. Views生成的区块默认的很多其它链接仅仅能选在列表上方和下方 下图是默认在上方的样式图: 为了美观.我将很多其它链接上移了若干 ...
- Python快速建站系列-Part.One-组装开发环境
|版权声明:本文为博主原创文章,未经博主允许不得转载. 源代码都在github上:SmallStudyStation 现在是个demo,但回来会租个服务器,等功能完善了放到服务器上挂着,域名jusot ...
- 【从0開始Tornado建站】0.9版本号python站点代码开源--持续更新中
从5月份開始[从0開始Tornado建站]这个专栏,開始一点一点把这个分类兴趣站点弄起来,从无到有的过程也是令人兴奋的:-) 国庆的时候等待备案然后上线,如今站点域名为ustchack ...
- Python+Flask+MysqL的web技术建站过程
1.个人学期总结 时间过得飞快,转眼间2017年就要过去.这一年,我学习JSP和Python,哪一门都像一样新的东西,之前从来没有学习过. 这里我就用我学习过的Python和大家分享一下,我是怎么从一 ...
- Python快速建站系列-Part.Three-注册和登录
|版权声明:本文为博主原创文章,未经博主允许不得转载. 上一个Part已经给TSSS编好了一个简单的Web服务,网页的基础模版也写好了,那从这个Part开始就慢慢增加编写功能. 先写基础功能:注册和登 ...
- (转) Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什么?
Web 建站技术中,HTML.HTML5.XHTML.CSS.SQL.JavaScript.PHP.ASP.NET.Web Services 是什么? 建站有很多技术,如 HTML.HTML5.XHT ...
- Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什么(转)
Web 建站技术中,HTML.HTML5.XHTML.CSS.SQL.JavaScript.PHP.ASP.NET.Web Services 是什么?修改 建站有很多技术,如 HTML.HTML5.X ...
随机推荐
- Redmine开发帮助
这里先零星记录二次开发用得上的知识点: 1.windows下开发环境,参考此文.最好使用rubyinstaller安装,注意选择版本.或者直接安装railsinstaller. 2.获取自定义内容,参 ...
- Java数据结构之对称矩阵的压缩算法---
特殊矩阵 特殊矩阵是指这样一类矩阵,其中有许多值相同的元素或有许多零元素,且值相同的元素或零元素的分布有一定规律.一般采用二维数组来存储矩阵元素.但是,对于特殊矩阵,可以通过找出矩阵中所有值相同元素的 ...
- 数据分析 - 开放街道地图(OpenStreetMap)
数据分析 - 开放街道地图(OpenStreetMap) Reinhard使用OpenStreetMap的开放地图数据作为本次数据分析的数据源,使用Python进行数据清洗,使用MongoDB进行数据 ...
- PHP 将下划线命名 转换为 驼峰式命名
function convertUnderline($str , $ucfirst = true) { $str = ucwords(str_replace('_', ' ', $str)); $st ...
- 使用dom4j操作XML
DOM4J介绍 DOM4J是使用Java语言编写的,用于读写及操作XML的一套组件,DOM4J同时具有DOM修改文件的优点和SAX读取快速的优点. DOM4J的使用 首先下载dom4j的JAR包,我用 ...
- Python—操作redis
Python操作redis 连接方式:点击 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建, ...
- Photoshop学习笔记(待续)
1. 界面设置 新建 设置 自动选择快捷键:单击时按住cmd 标尺和智能参考线 右侧的四大面板 单位与标尺 保存工作区 其他 每一种颜色模式对应一种媒介 HSB(色相.饱和度.亮度) => 人眼 ...
- C#常用开源类库
一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种 ...
- Sublime Text的常用插件
工欲善其事,必先利其器.好的插件会更多的帮助我们装逼. 最新感悟:也不要装太多的插件.有些无用的插件可以删除,有时反而臃肿.bloger下载官方最新稳定版st3 3126下载下来25M左右.安装十来个 ...
- HTML5滑动(swipe)事件
移动H5开发中经常用到滑动效果(页面上移.下移.向左滑动.向右滑动等),浏览器并没有内置swipe事件,可以通过touch事件(touchstart.touchmove和touchend)模拟swip ...