升级并安装 pip sudo apt-get update sudo apt-get install <span class="wp_keywordlink"><a href="http://www.168seo.cn/python" title="python">python</a></span>-pip 安装虚拟环境 sudo pip install virtualenv virtualenvwrapper 加入到环境变量中 当前用户目录下的 Env为虚拟环境存放的目录 echo "export WORKON_HOME=~/Env" >> ~/.bashrc echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc 激活配置 source ~/.bashrc 创建虚拟环境 环境名为:firstsite 在用户当前目录下创建 Django工程 cd ~ django-admin.py startproject firstsite django 的初始化 cd ~/firstsite ./manage.py migrate ./manage.py createsuperuser Django静态文件配置 nano firstsite/settings.py STATIC_ROOT = os.path.join(BASE_DIR, "static/") ./manage.py collectstatic 安装 uWSGI sudo apt-get install <span class="wp_keywordlink"><a href="http://www.168seo.cn/python" title="python">python</a></span>-dev sudo pip install uwsgi 测试是否能够正常访问 django 项目 - - http 指定进程端口8080 - - home指定虚拟环境目录 - - chdir指定 项目工程所在目录 uwsgi --http :8080 --home /home/pi/Env/firstsite --chdir /home/pi/firstsite -w firstsite.wsgi 创建 uwsgi 的配置文件 sudo mkdir -p /etc/uwsgi/sites cd /etc/uwsgi/sites uwsgi 的配置相关内容(重点) [uwsgi] project = firstsite base = /home/pi chdir = %(base)/%(project) home = %(base)/Env/%(project) module = %(project).wsgi:application master = true processes = 5 socket = %(base)/%(project)/%(project).sock chmod-socket = 666 vacuum = true 启动守护进程 vim /etc/systemd/system/uwsgi.service [Unit] Description=uWSGI Emperor service After=syslog.target [Service] ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites Restart=always KillSignal=SIGQUIT Type=notify StandardError=syslog NotifyAccess=all [Install] WantedBy=multi-user.target 重载守护进程的配置信息 sudo systemctl daemon-reload 保证系统重启后uwsgi守护进程自动重启 sudo systemctl enable uwsgi 启动uwsgi进程 sudo systemctl start uwsgi nginx 的安装 sudo apt-get install nginx nginx的配置 sudo nano /etc/nginx/sites-available/firstsite server { listen 80; server_name firstsite.com www.firstsite.com; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/pi/firstsite; } location / { include uwsgi_params; uwsgi_pass unix:/home/pi/firstsite/firstsite.sock; } } nginx配置生效 sudo ln -s /etc/nginx/sites-available/firstsite /etc/nginx/sites-enabled 检查配置 sudo service nginx configtest 重启nginx sudo service nginx restart 非 debug 模式 非 debug 模式需要重启uwsgi 服务 sudo systemctl restart uwsgi
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
升级并安装
pip
sudo
apt
-
get
update
sudo
apt
-
get
install
python
-
pip
安装虚拟环境
sudo
pip
install
virtualenv
virtualenvwrapper
加入到环境变量中
当前用户目录下的
Env为虚拟环境存放的目录
echo
"export WORKON_HOME=~/Env"
>>
~
/
.
bashrc
echo
"source /usr/local/bin/virtualenvwrapper.sh"
>>
~
/
.
bashrc
激活配置
source
~
/
.
bashrc
创建虚拟环境
环境名为
:
firstsite
在用户当前目录下创建
Django工程
cd
~
django
-
admin
.
py
startproject
firstsite
django
的初始化
cd
~
/
firstsite
.
/
manage
.
py
migrate
.
/
manage
.
py
createsuperuser
Django静态文件配置
nano
firstsite
/
settings
.
py
STATIC_ROOT
=
os.path
.
join
(
BASE_DIR
,
"static/"
)
.
/
manage
.
py
collectstatic
安装
uWSGI
sudo
apt
-
get
install
python
-
dev
sudo
pip
install
uwsgi
测试是否能够正常访问
django
项目
-
-
http
指定进程端口
8080
-
-
home指定虚拟环境目录
-
-
chdir指定
项目工程所在目录
uwsgi
--
http
:
8080
--
home
/
home
/
pi
/
Env
/
firstsite
--
chdir
/
home
/
pi
/
firstsite
-
w
firstsite
.
wsgi
创建
uwsgi
的配置文件
sudo
mkdir
-
p
/
etc
/
uwsgi
/
sites
cd
/
etc
/
uwsgi
/
sites
uwsgi
的配置相关内容
(重点
)
[
uwsgi
]
project
=
firstsite
base
=
/
home
/
pi
chdir
=
%
(
base
)
/
%
(
project
)
home
=
%
(
base
)
/
Env
/
%
(
project
)
module
=
%
(
project
)
.
wsgi
:
application
master
=
true
processes
=
5
socket
=
%
(
base
)
/
%
(
project
)
/
%
(
project
)
.
sock
chmod
-
socket
=
666
vacuum
=
true
启动守护进程
vim
/
etc
/
systemd
/
system
/
uwsgi
.
service
[
Unit
]
Description
=
uWSGI
Emperor
service
After
=
syslog
.
target
[
Service
]
ExecStart
=
/
usr
/
local
/
bin
/
uwsgi
--
emperor
/
etc
/
uwsgi
/
sites
Restart
=
always
KillSignal
=
SIGQUIT
Type
=
notify
StandardError
=
syslog
NotifyAccess
=
all
[
Install
]
WantedBy
=
multi
-
user
.
target
重载守护进程的配置信息
sudo
systemctl
daemon
-
reload
保证系统重启后
uwsgi守护进程自动重启
sudo
systemctl
enable
uwsgi
启动
uwsgi进程
sudo
systemctl
start
uwsgi
nginx
的安装
sudo
apt
-
get
install
nginx
nginx的配置
sudo
nano
/
etc
/
nginx
/
sites
-
available
/
firstsite
server
{
listen
80
;
server_name
firstsite
.
com
www
.
firstsite
.
com
;
location
=
/
favicon
.
ico
{
access_log
off
;
log_not_found
off
;
}
location
/
static
/
{
root
/
home
/
pi
/
firstsite
;
}
location
/
{
include
uwsgi_params
;
uwsgi_pass
unix
:
/
home
/
pi
/
firstsite
/
firstsite
.
sock
;
}
}
nginx配置生效
sudo
ln
-
s
/
etc
/
nginx
/
sites
-
available
/
firstsite
/
etc
/
nginx
/
sites
-
enabled
检查配置
sudo
service
nginx
configtest
重启
nginx
sudo
service
nginx
restart
非
debug
模式
非
debug
模式需要重启
uwsgi
服务
sudo
systemctl
restart
uwsgi
|