nginx django 的配置步骤 推荐

Python
升级并安装 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




  • zeropython 微信公众号 5868037 QQ号 5868037@qq.com QQ邮箱
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值