OS环境: Centos6.5
安装nginx:
首先下载nginx1.5.0.tar.gz
tar -zxf nginx.1.5.0.tar.gz 解压nginx安装包。
在安装nginx之前,安装一些依赖包:
yum -y install pcre-devel
yum -y install zlib-devel
如果安装出现如下错误,是缺少编译环境。如下方式解决。
./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
然后在nginx解压出来的文件夹中:
./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项目了。