将Django项目部署在LAMP/LNMP平台上,用于真正的生产环境,需要注意一下两点:
-
数据库编码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
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反代
项目中使用到了Django,MySQLdb,当然还有apache反代django时需要的uWSGI
还有两个依赖库 python-devel以及mysql-devel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
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"
|
本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1532434,如需转载请自行联系原作者