将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
,如需转载请自行联系原作者