nginx+uwsgi+django组网搭建

本文详细介绍了使用Nginx作为反向代理服务器,结合uWSGI和Django框架进行Web应用部署的过程。从环境搭建、项目创建、编码问题解决、服务启动、数据库创建等方面进行了全面解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nginx+uwsgi+django组网

 

/usr/local/python-2.713/bin/django-admin

1,安装

pip2.7 install django

pip2.7 install uwsgi

 

2.创建项目

/usr/local/python-2.713/bin/django-admin startproject project_test

 

注:解决内网浏览器不能允许访问

vim settings.py

ALLOWED_HOSTS = ['*']   #允许所有来源ip访问

 

注:

解决UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 7: ordinal not in range(128)

设置解决项目所有编码问题

site-packages添加 sitecustomize.py文件

cd /usr/local/python-2.713/lib/python2.7/site-packages

vim  sitecustomize.py

import sys

sys.setdefaultencoding('utf-8')

 

 

3.启动测试web服务

cd /apps/***/***/django_tests/project_test

python2.7 manage.py runserver 172.19.116.66:8001

 

4.内网浏览器访问测试web

http://172.19.116.66:8001/

 

5.uwsgi调试

a.切换到django项目目录,与manage.py文件同目录

    cd  /apps/***/***/django_tests/project_test   

b.创建uwsgi模块文件

vim test_uwsgi.py

#!/usr/bin/python2.7/

#

#ecoding:utf-8

import os

import sys

reload(sys)

sys.setdefaultencoding('utf8')

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_test.settings")  #读取项目settings文件

application = get_wsgi_application()

 

c.启动uwsgi进程

命令行启动:

/usr/local/python-2.713/bin/uwsgi --http 172.19.116.66:8000 --chdir /apps/***/***/django_tests/project_test --module test_uwsgi --chmod-socket=666

 

配置文件启动:

创建配置文件test_uwsgi.ini

cd /apps/***/***/django_tests/project_test/

vim test_uwsgi.ini

 

[uwsgi]

#监听IP和端口

http = 172.19.116.66:8000

#项目根目录

chdir = /apps/***/***/django_tests/project_test

#uwsgi文件,注意不用把后缀.py加上去

module = test_uwsgi  

#开启4个进程(按需更改)  

processes = 1       

#每个进程开启4个线程

threads = 1   

#支持线程启动

enable-threads = True    

#后台启动,并把日志记录到指定文件

daemonize = /apps/***/***/django_tests/project_test/logs/uwsgi.log    

buffer-size = 21573

#开启状态服务ip端口

stats = 172.19.116.66:9000   

#pid路径

pidfile = /apps/***/***/django_tests/project_test/uwsgi.pid

 

配置文件启动方式:

/usr/local/python-2.713/bin/uwsgi  --ini /apps/***/***/django_tests/project_test/test_uwsgi.ini

 

停止uwsgi方式:

/usr/local/python-2.713/bin/uwsgi  --stop /apps/***/***/django_tests/project_test/uwsgi.pid

 

 

6.nginx 的安装与配置

./configure --prefix=/apps/***/***/nginx/usr/local/nginx

make

make install

 

vim nginx.conf

user  mgsp;

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

     include test.conf;   #添加自定义配置文件

}

 

vim test.conf

server{

    listen 8002 ; #监听80端口

    access_log logs/test_access.log; #日志文件位置

    error_log  logs/test_error.log;

 

    location / {            #访问/时

    include uwsgi_params;     #加载uwsgi模块

    http://172.19.116.66:8000;   #将连接转到该IP,改地址为uwsgi服务ip端口

    error_page 500 502 503 504 /50x.html;

    location = /50x.html {

    root html;

    }

 

    location /static/ {

        alias  /apps/***/***/django_tests/project_test/static/;          #访问/static时直接访问

    }

}

 

7.登录django后台

http://172.19.116.66:8002/admin

访问成功,说明组网搭建完成

 

 

8.创建数据库

python2.7 manage.py startapp TestModel

cd  /apps/***/***/django_tests/project_test/TestModel

 

vim models.py

添加:

class Test(models.Model):   #表名Test

    name = models.CharField(max_length=20)   #字段name,长度20

 

vim settings.py

INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'TestModel',

]

 python2.7 manage.py migrate # 创建表结构

 

 python2.7 manage.py makemigrations TestModel # 让 Django 知道我们在我们的模型有一些变更

python2.7 manage.py migrate TestModel # 创建表结构

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值