OS环境: Centos6.5python
安装nginx:mysql
首先下载nginx1.5.0.tar.gz
nginx
tar -zxf nginx.1.5.0.tar.gz 解压nginx安装包。
c++
在安装nginx以前,安装一些依赖包:sql
yum -y install pcre-devel
shell
yum -y install zlib-devel
数据库
若是安装出现以下错误,是缺乏编译环境。以下方式解决。
django
./configure: error: C compiler cc is not found
#yum install gcc gcc-c++ ncurses-devel perl
安装cmake,从http://www.cmake.org下载源码并编译安装
#yum -y install make gcc gcc-c++ ncurses-devel
#yum -y install zlib zlib-devel centos
而后在nginx解压出来的文件夹中:
api
./configure --prefix=/usr/local/nginx
make
make install
配置文件为:/usr/local/nginx/conf/nginx.conf
如下是三个简单的nginx命令。
./usr/local/nginx/sbin/nginx -t 测试配置文件。
./usr/local/nginx/sbin/nginx 启动
./usr/local/nginx/sbin/nginx -s reload 重启
centos6.5默认有python环境为2.6
安装django:
下载Django-1.5.1.tar.gz
tar -zxf Django-1.5.1.tar.gz
cd Django-1.5.1
python setup.py install
python 进入python命令行
import django导入django
django.VERSION查看django版本
安装mysql:
yum install mysql
yum install mysql-server
/etc/init.d/mysqld start 启动服务
mysqladmin -uroot -p password mypassword 修改数据库密码
安装python的mysql支持:
yum -y install MySQL-python
若是但愿外界ip访问数据库,以下配置:
进入mysql后:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'tapindata' WITH GRANT OPTION;
grant命令说明:
mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘链接口令’;
权限1,权限2,…权限n表明 select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户所有权限。
当数据库名称.表名称被*.*代替,表示赋予用户操做服务器上全部数据库全部表的权限。
用户地址能够是localhost,也能够是ip地址、机器名字、域名。也能够用’%'表示从任何地址链接。
‘链接口令’不能为空,不然建立失败。
flush privileges;
安装memcached:
yum -y install memcached
memcached -h 验证是否已安装
vi /etc/sysconfig/memcached 修改配置
service memcached start 开启配置
yum -y install python-memcached 安装python 的memcached的支持
安装uwsgi:
tar -zxvf uwsgi-1.0.4.tar.gz
cd uwsgi-1.0.4
python setup.py build
yum -y -install libxml2-devel
make
mv uwsgi /usr/bin/
若是make提示Python.h No such file or directory的错误,那就须要安装python的开发包,用yum install python-devel安装后便可
安装完uwsgi后,咱们就能够去生成一个django工程了。
生成的方法不说了。
生成后,在django工程的根目录须要创建一个django_wsgi.py的文件,文件内容以下:
import os import django.core.handlers.wsgi os.environ['DJANGO_SETTINGS_MODULE'] ='mysite.settings' application = django.core.handlers.wsgi.WSGIHandler()
在第三行要指向本身的django项目的settings配置文件 ,
接下来咱们就去配置nginx
在nginx的安装目录下的cong/nginx.conf中,增长以下一段配置信息:
server{ listen 80; server_name localhost; location / { #root /home/data/CarHome; include uwsgi_params; uwsgi_pass unix:///tmp/uwsgi.sock; uwsgi_param UWSGI_CHDIR /home/data/mysite; uwsgi_param UWSGI_SCRIPT django_wsgi; } location /static { root /home/data/mysite; } }
server_name填想要访问指定的域名,listent为监听的端口号,location中,咱们用include uwsgi_params给uwsgi传参,后面的uwsgi_pass为uwsgi监听的sock, 后面两个uwsgi_param为参数,这里,这里指定两个参数,django项目根目录,和django_wsgi.py
location /static将以/static访问的指向到/home/data/mysite/目录下,作静态文件的分发。
而后进入nginx安装目录下的sbin,执行nginx -t 测试配置文件,-s reload重启,
而后启动uwsgi的监听,使用用户www去启动uwsgi.
/usr/bin/uwsgi -s /tmp/uwsgi.sock --uid www -C -M -p 2 -t 30 -R 10000 -d /tmp/uwsgi.log --pidfile /tmp/uwsgi.pid --vhost
最后,咱们就能够经过nginx中配置的域名去访问django项目了。