更新时间:2022-09-13 15:49:55
随着IT不断发展,用户对网站的体验也越来越高,做为一名Linux运维攻城师,就得学习更多知识,网络、系统、硬件、开发等等知识。
尤其是近期自动化运维的不断发展,更多的基础运维工程师开始不断的升华自己,提升自己,学习更多开发知识来满足企业的发展。目前自动化开发运维主要集中在python django、php开发,今天我们一起来探讨主流WEB服务器Nginx如何来部署Django,直接进入主题:
一、Django环境部署
官网下载django版本,目前最新版为1.7版本,https://www.djangoproject.com/
然后解压安装,我这里安装完后,新建的app主目录为:/root/django/django/bin/command
1
2
3
4
5
|
[root@Linux_wugk_SA command] # pwd
/ root / django / django / bin / command
[root@Linux_wugk_SA command] # ls
command manage.py [root@Linux_wugk_SA command] #
|
二、Uwsgi安装部署
下载uwsgi安装包:wget http://projects.unbit.it/downloads/uwsgi-2.0.6.tar.gz
解压安装:tar xzfuwsgi-2.0.6.tar.gz ;cd uwsgi-2.0.6/ ;python setup.py install 即可。
安装完毕后,在/root/django/django/bin/command目录(与manage.py同级目录)新建如下文件:vi django_wsgi.py
1
2
3
4
5
6
7
8
9
|
#!/usr/bin/env python # coding: utf-8 import os
import sys
reload (sys)
sys.setdefaultencoding( 'utf8' )
os.environ.setdefault( "DJANGO_SETTINGS_MODULE" , "command.settings" )
from django.core.handlers.wsgiimport WSGIHandler
application = WSGIHandler()
|
然后新建uwsgi配置文件,内容如下:vi uwsgi_socket.xml
1
2
3
4
5
6
7
|
<uwsgi> <socket> 127.0 . 0.1 : 199 < / socket>
<chdir> / root / django / django / bin / command< / chdir>
<module>django_wsgi< / module>
<processes> 4 < / processes>
<daemonize>uwsgi.log< / daemonize>
< / uwsgi>
|
注* chdir目录写当前目录,即/root/django/django/bin/command
三、Nginx部署配置
Nginx安装大家都非常熟悉,这里直接上Server段配置代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
server { listen 80 ;
server_name localhost;
index index.php index.html;
location / {
include uwsgi_params;
uwsgi_pass 127.0 . 0.1 : 199 ;
uwsgi_param UWSGI_CHDIR / root / django / django / bin / command;
uwsgi_param UWSGI_SCRIPTdjango_wsgi;
access_log / usr / local / nginx / logs / access.log;
}
location / static {
root / root / django / django / bin / command / command;
}
}
|
四、部署测试
分别启动uwsgi和nginx即可,然后通过浏览器直接访问Nginx 80端口即可。
启动命令:
uwsgi -x uwsgi_socket.xml
/usr/local/nginx/sbin/nginx
截图测试如下:
本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1555300