我的编程空间,编程开发者的网络收藏夹
学习永远不晚

nginx+uwsgi部署django项

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

nginx+uwsgi部署django项

1、django项目部署前需要生成admin的静态资源文件

(1)生成admin的静态资源文件

 

# 关闭debug模型
DEBUG = False
# 允许所有域名访问
ALLOWED_HOSTS = ['*']
# 静态资源路径
# STATIC_ROOT设置项目上线后使用的静态资源
STATIC_ROOT = 'D:/code/MyDeploy/static'(自定义本机路径)
# STATICFILES_DIRS将Admin的静态资源保存在static文件夹中
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'), ]

 

(2)pycharm中根据下面步骤进行操作

  (i)pycharm-->Tools-->Run manage.py Task

  (ii)collectstatic

  信息提示,是否覆盖现有的static文件夹

You have requested to collect static files at the destination
location as specified in your settings.

This will overwrite existing files!
Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel:

  输入yes并回车

(3)一般来说,项目上线的静态资源都由配置属性STATIC_ROOT决定,所以项目的urls.py新增如下配置

from django.views import static
from django.conf.urls import url
from django.conf import settings
urlpatterns = [
    # 设置项目上线的静态资源路径
    url('^static/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROOT}, name='static')
]

2、安装python3

注:在安装python3.6前,分别需要安装Linux的wgt工具,GCC编译器环境已经python3使用的依赖组件

(1)安装Liunx的wget工具,用于网上下载文件

yum -y install wget

(2)GCC编译器环境,安装python3所需的编译环境

yum -y install gcc

(3)python3使用的依赖组件

yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite*-devel mysql-devel

(4)下载python3.6压缩包

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz

(5)解压python3.6安装包

tar -zxvf Python-3.6.3.tgz

(6)进入python3.6.3文件夹编译安装

cd Python3.6.3
sudo ./configure
make && make install

3、部署uWSGI服务器

(1)安装python3所需模块

pip3 install mysqlclient
pip3 install django
pip3 install uwsgi

(2)修改项目setting.py配置

# 数据库连接信息
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',(改为mysql对应数据库)
        'USER': '',(改为mysql数据库连接用户名)
        'PASSWORD': '',(改为mysql数据库连接密码)
        'HOST': '',(改为mysql服务器地址)
        'PORT': '3306',
    }
}

(3)测试uwsgi服务器是否正常运行

 

uwsgi --http :8080 --chdir 项目目录 -w 项目目录下.wsgi

 

例:

uwsgi --http :8080 --chdir /Data/work/MyDeploy -w MyDeploy.wsgi

其中/Data/work/MyDeploy为项目的绝对路径,MyDeploy.wsgi是项目的wsgi.py文件

(4)为项目编写uWSGI配置文件

在项目主目录下创建*.ini配置文件,如:mydeploy.ini

[uwsgi]
# Django-related settings
socket= :8080

# the base directory (full path)
chdir=/Data/work/MyDeploy

# Django s wsgi file
module=MyDeploy.wsgi

# process-related settings
# master
master=true

# maximum number of worker processes
processes=16

# ... with appropriate permissions - may be needed
chmod-socket=664
# clear environment on exit
vacuum=true

启动uwsgi命令,查看配置文件是否正确

uwsgi --ini mydeploy.ini

4、安装Nginx部署项目

(1)添加Nginx的安装源

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

(2)yum安装

yum install nginx

(3)启动nginx,验证瘦安装成功

nginx(systemctl start nginx)

(4)修改nginx配置文件,实现nginx服务器与uWSGI服务器的通信连接

cd /etc/nginx
vim nginx.conf
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
    
    # 新增内容
    server {
        listen    8090;
        server_name    127.0.0.1;
        charset UTF-8;
        access_log    /var/log/nginx/myweb_access.log;
        error_log    /var/log/nginx/myweb_error.log;
    
        client_max_body_size    75M;
        # 连接uWSGI服务器,uwsgi_pass的端口与uWSGI设置的socket= :8080端口一致
        location / {
            allow all;
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:8080;
            uwsgi_read_timeout 2;
        }
        # 设置静态资源路径
        location /static/ {
            expires 30d;
            autoindex on;
            add_header Cache-Control private;
            # /Data/work/MyDeploy/static为项目静态目录路径
            alias /Data/work/MyDeploy/static/;
        }    
    
   }

}

(5)重启nginx,启动uWSGI服务器

cd /(项目路径)
uwsgi --ini mydeploy.ini

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

nginx+uwsgi部署django项

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

nginx+uwsgi部署django项

1、django项目部署前需要生成admin的静态资源文件(1)生成admin的静态资源文件 # 关闭debug模型DEBUG = False# 允许所有域名访问ALLOWED_HOSTS = ['*']# 静态资源路径# STATIC_R
2023-01-31

django+uwsgi+nginx部署

django+uwsgi+nginx部署 1.介绍:  在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑。 2.环境:1 Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-130-generi
2023-01-30

uwsgi+nginx项目部署

部署Django项目Django+uWSGI+nginx 部署django 一个pyhton的开源web框架。uWSGI 一个基于自有的uwsgi协议、WSGI协议和http服务协议的web网关nginx 常用的代理服务器WSGI:一种实现
2023-01-31

Centos8下django项目部署 nginx+uwsgi的教程

1.虚拟环境virtualenv安装 1.安装virtualenv pip3 install virtualenv2.创建目录,把项目文件传过来 mkdir My cd My3.创建独立运行环境-命名 virtualenv --no-si
2022-06-04

Django + Uwsgi + Nginx 的生产环境部署

使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下dj
2023-01-30

Nginx+uwsgi+Django部署代码怎么编写

Nginx+uwsgi+Django部署代码怎么编写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Nginx+uwsgi+Django部署代码安装uwsgi1.
2023-06-04

ubuntu Django + Uwsgi + Nginx 的生产环境部署

使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下dj
2023-01-31

Nginx+uwsgi+Django (

Nginx+uwsgi+Django (Python web环境)nginx配置文件[root@DB02 rc3.d]# vi /application/nginx/conf/nginx.confuser  root;worker_proc
2023-01-31

Nginx+uWSGI+DJango+P

本文出自:http://www.mpyun.com/一、安装所需工具yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf li
2023-01-31

利用uWSGI和nginx进行服务器部署

1)在本机进入虚拟环境,执行命令导出当前需要的所有包。pip freeze > plist.txt2)通过ftp软件将项目代码和plist.txt文件上传到服务器。3)创建虚拟环境,在虚拟环境上安装包。mkvirtualenv 虚拟环境名称
2023-01-30

nginx多个django怎么部署

要部署多个Django应用程序到Nginx,您可以按照以下步骤操作:安装和配置Nginx:首先,您需要安装Nginx并配置基本的服务器设置。您可以通过以下命令来安装Nginx:sudo apt-get updatesudo apt-ge
2023-10-23

nginx + uwsgi + django 优化和参数设置

最近用python写了一个web系统,用的框架是nginx + uwsgi + django + oracle。服务器用的是centos 7.web API的吞吐量要求是200/s。使用postman对单次web API调用进行测试,时间约
2023-06-02

django生产环境搭建(uWSGI+django+nginx+python+MySQL)

目录1、系统环境,必要知识2、安装python3.6.53、安装Django4、安装uWSGI5、安装nginx6、MySQL安装配置7、编写一个简单的博客系统1、系统环境,必要知识#cat /etc/redhat-release Cen
2022-05-18

Python web项目Django部署

材料准备准备一个Django项目准备一台Ubuntu18.04的主机ssh连接到主机(腾讯云)Mac直接在bash中输入ssh root@你的主机ipWindows请下载ssh远程连接工具例如Putty腾讯云默认不能以root身份登录,请使
2023-01-31

Nginx如何部署SpringBoot项目

本篇内容介绍了“Nginx如何部署SpringBoot项目”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、新建一个yml文件 applic
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录