1.1 安装 Centos6.3
此处省略,与本文当无关。
1.2 更新系统
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
rpm –ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm //更新yum源
yum update //刚装好系统后,更新数据yum clean all //清除缓存
1.3 默认开机联网
此处省略,与本文当无关。
1.4 开放IP 端口
yum install iptables
vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
service iptables restart
service iptables restartservice iptables status
1.5 关闭 selinux
vi /etc/selinux/config
//将SELINUX="" 修改为 SELINUX=disabled//然后重启。如果不想重启系统,使用命令
setenforce 0
******************************************************************************************************
setenforce 1 //设置SELinux 成为enforcing模式
setenforce 0 //设置SELinux 成为permissive模式
******************************************************************************************************
//或者
/usr/sbin/setenforce 0 立刻关闭 SELINUX
/usr/sbin/setenforce 1 立刻启用 SELINUX
echo "/usr/sbin/setenforce 0" >> /etc/rc.local 默认启动时关闭
1.6 创建 www用户
99 www ALL = (ALL) ALL
2 Python2.7.2 安装与配置
2.1 下载Python2.7.2
wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgztar xvfz Python-2.7.2.tgz
cd Python-2.7.2
yum -y install gcc gdbm-devel readline-devel ncurses-devel zlib-devel sqlite-devel db4-devel tk-devel bluez-libs-devel make //编译所需工具包
yum install bzip2-devel //no model named bz2
yum install gcc-c++
yum install openssl-devel
//yum -y install gcc automake autoconf libtool make //Centos5.7
Error:
kernel-2.6.32-220.13.1.el6.x86_64 has missing requires of kernel-firmware >= ('0', '2.6.32', '220.13.1.el6')
修改文件vi /etc/yum.conf 将exclude=kernel*前加注释即可解决
2.2 编译 Python2.7.2 并且包含openssl 模块
vi Modules/Setup.dist214 SSL=/usr/local/ssl
215 _ssl _ssl.c \
216 -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
217 -L$(SSL)/lib -lssl -lcrypto
./configure --enable-shared
make
make install
// 需要时 重启计算机 reboot
libpython2.7.so.1.0的错误解决办法:
vi /etc/ld.so.conf 添加/usr/local/lib
/sbin/ldconfig
/sbin/ldconfig -v
2.3 检测是否能成功导入bz2 包
#python //此时默认的python应该是2.7.2>>> import bz2
>>> bz2.__doc__
'The python bz2 module provides a comprehensive interface for\nthe bz2 compression library. It implements a complete file\ninterface, one shot (de )compression functions, and types for\nsequential (de)compression.\n'
>>>
2.4 安装 virtualenv
http://pypi.python.org/pypi/virtualenv#downloads //下载 virtualenv******************************************************************************************************
wget http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.8.1.tar.gz#md5=3aebe32859aa4512e1e679834c10f7bf //快捷下载
******************************************************************************************************
tar -zxvf virtualenv-1.8.1.tar.gz
cd virtualenv-1.8.1
python setup.py install
3 Git的安装与配置
3.1 安装git 并且下载仓库代码
yum install gitgit config --global user.name "****"
git config --global user.email ****
git clone ****
Error:(gnome-ssh-askpass:3160): Gtk-WARNING **: cannot open display:
解决办法:unset SSH_ASKPASS
此处省略,与本文当无关。
3.6 windows 下 Django 图片上传问题
http://www.pythonware.com/products/pil/下载安装对应的库,然后pip 重新安装PIL。
3.7 Centos6.3 下 Django 图片上传问题
echo $PATH如果没有/usr/lib/
export PATH=/usr/lib/:$PATH
yum install libjpeg libjpeg-devel
ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so
打开virtualenv
pip uninstall PIL
pip install PIL
清除浏览器缓存,ok!
注:有的动态图片无法显示的话 pip install pillow
4 njinx 的安装与配置
rpm –ivhhttp://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum install nginx
service nginx start
wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz
解压后 make
cp uwsgi /usr/bin
配置nginx
/etc/nginx/nginx.conf 我没有做修改,记得文件最后会include /etc/nginx/conf.d 下面所有以 *.conf结尾的配置文件,所以我的配置文件放在这里。
vi /etc/nginx/conf.d/django_uwsgi.conf
server{
listen 80;
server_name localhost;
location / {
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params;
access_log off;
}
location ^~/admin/ {
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params;
access_log off;
}
}
至于项目的静态文件,已存于阿里云的oss中,所以在nginx的配置文件里已经不需要包含static、site_media等静态文件了。只要在settings中设置访问云端oss中的静态文件即可。
wsgi.py(与项目settings同级目录)
from django.core.handlers.wsgi import WSGIHandler
import os
import pinax.env
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
# setup the environment for Django and Pinax
pinax.env.setup_environ(__file__)
# set application for WSGI processing
application = WSGIHandler()
/your_path/uwsgi_config.ini
[uwsgi]
uid = www
master = true
profiler = true
processes = 8
logdate = true
enable-threads = true
socket = 127.0.0.1:8000
module = yourproject.wsgi
virtualenv=/var/www/virtualenv_lib
pythonpath = /var/www/
pythonpath = /var/www/your_project
pythonpath = /var/www/your_project/apps
pidfile = /var/www/log/your_project.pid
daemonize = /var/www/log/your_project.log
启动uwsgi的脚本 fstart.sh
#!/bin/bash
echo 'Start server Now ...'
uwsgi --ini /your_path/uwsgi_config.ini
echo 'Start server success !'
关闭uwsgi脚本 fclose.sh
#!/bin/bash
echo 'Close server Now ...'
ps aux |grep uwsgi |grep -v grep |awk '{print $2}'|xargs -r kill -9
echo 'Close server success !'
重启uwsgi脚本 frestart.sh
#!/bin/bash
echo 'Restart server Now ...'
ps aux |grep uwsgi |grep -v grep |awk '{print $2}'|xargs -r kill -9
uwsgi --ini /your_path/uwsgi_config.ini
echo 'Restart server success !'
service nginx restart
./fstart.sh
That’s all !
转载请注明出处!