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

生产环境部署python代码(djang

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

生产环境部署python代码(djang

基础环境不做介绍,在django开发web项目完成后,一直使用django自带的服务器进行调试:
python manage.py runserver 0.0.0.0:8080

这个服务器在开发时使用,实际生产则不能满足,要使用uwsgi把动态请求转给python执行,使用nginx处理静态请求,部署如下:

在开发环境中,收集python所需的安装包及其具体版本号:
pip freeze > programlist.txt

然后,把programlist.txt文件传递服务器上;

前提:线上服务器已经安装好python环境、django环境、nginx等;

在服务器上安装python项目所需要的程序包:
pip install -r programlist.txt

创建django项目:
django-admin startprojcet test

会在本地创建一个test项目同名的目录,并进入:
cd test

再创建项目下的一个应用:
python manage.py starapp apptest

此时,当前目录会出现apptest目录、manage.py文件和test目录(与项目目录下同名的又一个目录);

还要创建相应的目录:
在项目目录test下创建目录:
test/templates/apptest
test/static/apptest
test/static/media
注意:两级目录均需要创建

修改settings.py文件:
DEBUG=False
#允许指定主机访问服务器
ALLOWED_HOSTS=['*']
#添加应用
INSTALLED_APPS = [
...
'test',
]
#修改模板路径
TEMPLATES = [
{
...
'DIRS': [os.path.join(BASE_DIR,'templates')],
...
},
]
#添加静态文件路径
STATIC_URL = '/static/'
STATICFILES_DIRS=[
os.path.join(BASE_DIR,'static')
]
#nginx配置中的静态文件路径
STATIC_ROOT='/var/www/test/static/'
#配置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test3',
'USER': 'root',
'PASSWORD': 'root',
'HOST': 'localhost',
'PORT': '3306',
}
}

修改主urls.py文件:
#配置url路径
from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [
url(r'^admin/', admin.site.urls),
url('^',include('booktest.urls')),
]

在应用目录下创建一个urls.py文件:
test/urls.py
如:
from django.conf.urls import url
import views

urlpatterns=[
url(r'^$',views.index),
]

在views.py文件里定义各种视图函数;
如:
from django.shortcuts import render

def index(request):
return render(request,'booktest/index.html')

在templates/apptest/创建各html模板文件;
如index.html:
<head>
<meta charset="UTF-8">
<title>Title</title>
<script class="lazy" data-src="/static/booktest/jquery-1.12.4.min.js"></script>

    <script>
    $(function () {
        $('img').width(100).height(100);
    });
</script>

</head>
<body>
<img class="lazy" data-src="/static/booktest/a1.jpg" />
</body>

注意:先把a1.jpg和js文件放到test/static/apptest目录下;

此时,先测试一下,把settings中的DEBUG改为=False,如果不改,则会显示不出图片;再启动django开发时的服务器,访问浏览器能看见图片且符合js里面设定的图片大小既可进行下一步配置;

下面配置wsgi:

安装uWSGI:
pip install uwsgi

在项目test目录下创建uwsgi.ini文件,内容如下:
[uwsgi]
#使用nginx连接,使用socket
socket=192.168.1.250:8080
#直接做web服务器,使用http
#http=192.168.1.250:8080
#项目的绝对路径
chdir=/root/projects/test
#相对项目绝对路径的一个路径
wsgi-file=test/wsgi.py
processes=4
therads=2
master=True
pidfile=uwsgi.pid
daemonize=uswgi.log

运行uwsgi:
uwsgi --ini uwsgi.ini

如果uwsgi.ini文件使用的是http,则直接访问服务器的ip地址和端口既可显示页面;

停止uwsgi:
uwsgi --stop uwsgi.pid

如果uwsgi.ini文件使用的是socket,则需要nginx服务的配合使用:

配置nginx.conf:
server {
listen 80 default_server;
listen [::]:80 default_server;
servername ;
root /usr/share/nginx/html;
include /etc/nginx/default.d/*.conf;

    location / {
            include uwsgi_params;
            uwsgi_pass 192.168.1.250:8080;
    }
            location /static {
            alias /var/www/test/static/;
    }

在静态文件存放目录:
/var/www/test/static/

修改静态文件所在目录static的目录权限:
chmod 777 static

再把静态文件,放到/var/www/test/static/目录下既可,django提供方便的命令,来采集静态文件:
python manage.py collectstaic
输入yes;

执行该命令后,会自动把静态文件都复制到/var/www/test/static/目录下;

最后,直接访问服务器的域名或ip,完成访问页面;

免责声明:

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

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

生产环境部署python代码(djang

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

下载Word文档

猜你喜欢

生产环境部署python代码(djang

基础环境不做介绍,在django开发web项目完成后,一直使用django自带的服务器进行调试:python manage.py runserver 0.0.0.0:8080这个服务器在开发时使用,实际生产则不能满足,要使用uwsgi把动态
2023-01-31

nodejs生产环境部署vue

Node.js 生产环境部署 Vue在开发 Vue.js 应用程序时,部署您的应用程序是至关重要的一步。本文将介绍如何在生产环境中部署一个 Vue.js 应用程序,使用 Node.js 作为运行时环境。在本文中,我们将深入了解如何将应用程序添加到生产环境中,并在服务器上运行。准备工作在开始之前,您需要在服务器上安装 Node.js、npm 和 Git。本文中,我们将使用 Ubu
2023-05-14

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

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

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

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

springboot生产环境热部署怎么实现

在Spring Boot中,可以通过使用Spring Boot DevTools库来实现生产环境的热部署。下面是一些实现的步骤:在项目的pom.xml文件中添加以下依赖:org.springframework.bootspring-boot
2023-10-25

nodejs生产环境部署vue的方法是什么

这篇“nodejs生产环境部署vue的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“nodejs生产环境部署vue
2023-07-06

如何将自定义 PHP 函数部署到生产环境?

将自定义 php 函数部署到生产环境:创建 composer 包,包括函数代码。注册函数以自动加载。安装包。加载包到应用程序。在应用程序中调用函数。如何将自定义 PHP 函数部署到生产环境在本地开发环境中创建和测试自定义函数后,您需要将其
如何将自定义 PHP 函数部署到生产环境?
2024-04-22

如何将自定义 PHP 函数部署到生产环境?

将自定义 php 函数部署到生产环境:创建 composer 包,包括函数代码。注册函数以自动加载。安装包。加载包到应用程序。在应用程序中调用函数。如何将自定义 PHP 函数部署到生产环境在本地开发环境中创建和测试自定义函数后,您需要将其
如何将自定义 PHP 函数部署到生产环境?
2024-04-22

ASP Web API 部署指南:将 API 部署到生产环境的最佳方法

在本指南中,您将了解有关 ASP Web API 部署的最佳方法,包括如何选择正确的部署环境、配置 API 和管理安全性。
ASP Web API 部署指南:将 API 部署到生产环境的最佳方法
2024-02-24

如何创建 PHP 函数库并将其部署到生产环境中?

要创建 php 函数库并将其部署到生产环境中,首先创建一个新文件并添加所需的函数。然后,将其添加到 composer.json 的自动加载部分,并将文件放置在指定的目录中。部署到生产环境的方法包括使用 composer 或手动上传到服务器并
如何创建 PHP 函数库并将其部署到生产环境中?
2024-04-26

怎么将Golang应用程序部署到生产环境并将其上线

这篇文章主要介绍“怎么将Golang应用程序部署到生产环境并将其上线”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么将Golang应用程序部署到生产环境并将其上线”文章能帮助大家解决问题。了解Go
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动态编译

目录