将Django项目部署在LAMP/LNMP平台上,用于真正的生产环境,须要注意一下两点:
python
数据库编码mysql
1. 数据库建立 CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 2. 数据库设置 /etc/my.cnf [client] default-character-set=utf8 [mysqld] character-set-server= utf8 default-character-set= utf8 init_connect='SET NAMES utf8' [mysql] default-character-set=utf8 # mysql 查看数据库信息以下 mysql > use test mysql > status +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 3. 项目设置 djangoproject/setting.py设置以下 TIME_ZONE = 'Asia/Shanghai' LANGUAGE_CODE = 'zh-cn' DEFAULT_CHARSET = 'utf-8' TEST_CHARSET = 'utf-8' TEST_COLLATION = 'utf-8' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test2', 'USER': 'root', 'PASSWORD': '', 'HOST': '172.16.20.64', 'PORT': '3306', 'TEST_CHARSET': 'utf-8', 'TEST_COLLATION': 'utf-8', 'DEFAULT_CHARSET': 'utf-8', } }
2. UWSGI反代nginx
项目中使用到了Django,MySQLdb,固然还有apache反代django时须要的uWSGIsql
还有两个依赖库 python-devel以及mysql-devel数据库
1. 安装依赖库 yum -y install python-devel mysql-devel 2. 安装apache uWSGI模块(若是使用nginx这步能够省略) wget --no-check-certificate # 编译uWSGI.c文件 /apache安装目录/bin/apxs -i -c mod_uwsgi.c 3. 配置httpd.conf # 这些东西加在那里浏览一遍conf文件你就知道 :) LoadModule uwsgi_module modules/mod_uwsgi.so <Location "/"> SetHandler uwsgi-handler uWSGISocket 127.0.0.1:8080 # 这是指定反代地址 </Location> <Location "/static"> SetHandler none # 这是定义django静态文件处理方式 </Location> # 静态文件alias Alias /static /data01/httpd/htdocs/thirddjango/static 4. 在htdocs目录下设置UWSGI.INI [uwsgi] chdir = /data01/httpd/htdocs/thirddjango # httpd的发布目录 module = thirddjango.wsgi # django项目中的wsgi env DJANGO_SETTINGS_MODULE=thirddjango.settings # 项目settings文件 master = true processes = 2 socket = 127.0.0.1:8080 # uwsgi工做端口 max-requests = 100 vacuum = true daemonize = /data01/httpd/logs/django.log # django日志文件位置 5. 安装Django,MySQLdb模块 # 安装easy_install工具,便于安装以上的模块 wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py python ez_setup.py install easy_install django easy_install "MySQL-python==1.2.3"