如何将本地的Django项目部署到阿里云服务器上?

news2024/11/25 4:31:58

场景:在本地的pycharm上已经写好了一个Django架构的网站,现在要把它放到公网上

一、阿里云服务器

选择云服务器ECS,新用户可以免费使用三个月

购买时选择预装宝塔面板

买好后,进入云服务器控制台

重置实例密码

远程连接至服务器,这里用阿里自带的workbench,不用下别的远程连接软件了

二、宝塔

浏览器中输入,公网ip:8888,打开宝塔面板

初始账号密码获取:在服务器界面输入 bt default 查看

三、配置nginx和python

可以从宝塔配置,因为在命令行里配置貌似宝塔不会同步

点击PHP项目、Python项目,会提示你未下载,点击下载即可,Python选Pycharm同版本就行

查看Python版本号:pycharm命令行中输入 python --version

从命令行配置可能遇到的问题:yum,apt命令无法使用  阿里云服务器安装Nginx时,显示安装失败

浏览器输入ip+端口打不开?

因为端口未开放

阿里云:

宝塔:

两个都要改!

宝塔创建python项目

项目路径:Django根目录

运行文件:我也不清楚要选什么,我选的views文件,也可以正常运行

升级pip   pip3 install --upgrade pip

安装python库

从命令行:pip3 install django   (这里版本对不上也没关系

从宝塔:

安装uwsgi

执行以下命令,安装uWSGI。

sudo pip3 install uwsgi

如果回显信息如下所示,表示uWSGI已安装成功。

WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting uwsgi
 Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/b3/8e/b4fb9f793745afd6afcc0d2443d5626132e5d3540de98f28a8b8f5c753f9/uwsgi-2.0.21.tar.gz (808kB)
 100% |████████████████████████████████| 808kB 72.9MB/s 
Installing collected packages: uwsgi
 Running setup.py install for uwsgi ... done
Successfully installed uwsgi-2.0.22

将本地文件上传至服务器

从宝塔:

好像可以直接上传目录,挺好的,也可以压缩上传再解压

我当时受其它帖子影响,放在了wwwroot文件夹下,不过放哪好像都行,放root下也行

配置settings.py

允许所有ip访问     输入i进入编辑模式,将ALLOWED_HOSTS = [  ] 修改为ALLOWED_HOSTS = ["*"]  修改完成后,ECS,输:wq保存并退出文件。

命令行文件编辑常用操作:按i进入编辑模式,esc退出编辑,输入:wq保存并退出

:wq无法退出,可能是你没有权限,输入:q退出,文件不会保存

ctrl+C可以退出一些软件    ctrl+D可以退出Python

连接数据库   我没有数据库,跳过

编写uwsgi.ini文件

[uwsgi]
#项目目录
chdir=/www/wwwroot/PyProject

#指定项目application
wsgi-file=/www/wwwroot/PyProject/firstWEB/views.py

# 进程个数
processes=4

# 线程个数
threads=2

#指定启动时的pid文件路径(用于停止服务和重启服务,请勿删除)
pidfile=/www/wwwroot/PyProject/uwsgi.pid

# 指定ip及端口
# 默认http模式,可切换至socket模式
http=0.0.0.0:8000
#socket=0.0.0.0:8000

#启动uwsgi的用户名和用户组
uid=www
gid=www

#启用主进程
master=true

# 后台运行,并输出日志
daemonize = /www/wwwlogs/python/PyProject/uwsgi.log

# 自定义设置项请写到该处, 
# 如果项目的启动方式您不想使用 wsgi-file 请注释掉,但不要删除,通讯方式(http, socket)同理;
# 最好以上面相同的格式 <注释 + 换行 + key = value> 进行书写,方便以后查阅

静态文件同步

数据迁移

在服务器命令行运行

/www/server/pyporject_evn/Django项目名称_venv/bin/python3 manage.py makemigrations
/www/server/pyporject_evn/Django项目名称_venv/bin/python3 manage.py migrate

然后重启Python

运行Django

cd到Django根目录下

python manage.py runserver 0:8000

上面的写法可以避免  Error: That IP address can't be assigned to.

 

注意,要将代码中涉及文件地址的地方修改为现在服务器的地址

输入ip+端口号即可访问

Python项目--Flask/Django框架项目部署 - Linux面板 - 宝塔面板论坛 (bt.cn)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1862012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ACM出版】第13届亚洲膜计算会议(ACMC2024)暨 2024年机器学习、模式识别与自动化工程国际学术会议(MLPRAE 2024,8月7日-9)

第13届亚洲膜计算会议&#xff08;ACMC2024&#xff09;暨2024年机器学习、模式识别与自动化工程国际学术会议(MLPRAE 2024) 将于2024年8月7日-9日在新加坡举行。它致力于为机器学习、模式识别与自动化工程领域的专家和学者之间的学术交流创造一个平台。 会议的理念是让来自世…

JVM专题十:JVM中的垃圾回收机制

在JVM专题九&#xff1a;JVM分代知识点梳理中&#xff0c;我们主要介绍了JVM为什么采用分代算法&#xff0c;以及相关的概念&#xff0c;本篇我们将详细拆分各个算法。 垃圾回收的概念 垃圾回收&#xff08;Garbage Collection&#xff0c;GC&#xff09;确实是计算机编程中的…

视频录制软件哪个好用?5款简单好用软件推荐

在我们的日常生活中&#xff0c;都有哪些好用的视频录制软件&#xff1f;在很多场合中我们都会用电脑记录下重要的时刻。比如&#xff0c;在电脑上听老师讲解一道难题的方法时&#xff0c;怕自己会忘记&#xff0c;想要录制下来进行重复的观看。这时&#xff0c;选择一款好用的…

震惊!CURRENT_TIMESTAMP不能乱用

事情发生在签到和查询签到记录. 设置mysql时间默认值为CURRENT_TIMESTAMP可以随系统生成默认时间戳,即生成该数据的时间戳, 但是有些特殊场景要避免由mysql给我们生成默认时间: 1、首先签到成功之后返回给前端, 2、前端收到执行成功之后立马去查询签到记录, 3、发现并没有…

【软件工具】Xshell安装教程

1、安装软件&#xff1a;Xshell-5.0.1337p.exe&#xff0c;双击安装即可&#xff0c;可以选择安装到D盘&#xff1b; 2、在D盘安装完成后&#xff0c;将文件nslicense.dll拷贝到对应的安装目录下&#xff1b; 3、打开快捷方式即可打开应用软件。

“代码规范”这样做【高级前端必备软技能之一】

✨在前端开发领域&#xff0c;良好的代码规范是团队协作、项目可维护性的基石。最近在梳理我们团队关于代码规范相关的一些文档&#xff0c;顺便给大家分享一下我们是从哪些方面入手来从一个草台班子&#xff0c;到开发规范的高效团队。 ✨本文旨在提供一份详尽的前端代码规范指…

Linux的免交互

交互&#xff1a;我们发出指令控制程序的运行&#xff0c;程序在接收到指令之后按照指令的效果做出对应的反应。 免交互&#xff1a;间接的通过第三方的方式把指令传送给程序&#xff0c;不用直接的下达指令。 1、here document免交互 ere document免交互&#xff1a;是命令…

Studying-代码随想录训练营day20| 235.二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点

第二十天&#xff0c;二叉树part07&#xff0c;二叉树搜索树加油加油&#x1f4aa; 目录 235.二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点 拓展&#xff1a;普通二叉树的删除方式 总结 235.二叉搜索树的最近公共祖先 文档讲解&…

在FlowUs息流,让知识库为你所用|如何打造个人知识库|如何打造企业知识库

&#x1f389; 在 FlowUs 的世界中&#xff0c;知识绽放出无限的可能&#xff01;&#x1f680; 在当今信息爆炸的时代&#xff0c;知识的更新换代速度极快&#xff0c;我们每天都面临着海量的信息冲击。拥有一个属于自己的知识库变得至关重要。 首先&#xff0c;打造自己的知…

Linux_应用篇(27) CMake 入门与进阶

在前面章节内容中&#xff0c;我们编写了很多示例程序&#xff0c;但这些示例程序都只有一个.c 源文件&#xff0c;非常简单。 所以&#xff0c;编译这些示例代码其实都非常简单&#xff0c;直接使用 GCC 编译器编译即可&#xff0c;连 Makefile 都不需要。但是&#xff0c;在实…

解决IMX6ULL GPIO扩展板PWM7/8中的pwm0/period后卡死问题

前言 本篇文章主要是记录解决百问网论坛上面设置 IMX6ULL GPIO扩展板PWM7/8中的pwm0/period后卡死问题&#xff0c;如下图&#xff1a; 一、查看原理图&#xff0c;找出对应引脚 在这里我们如何确定哪个扩展口中的引脚输出PWM波呢&#xff1f;我们可以通过查看原理图。 查看…

【Java】解决Java报错:IllegalMonitorStateException in Synchronization

文章目录 引言一、IllegalMonitorStateException的定义与概述1. 什么是IllegalMonitorStateException&#xff1f;2. IllegalMonitorStateException的常见触发场景3. 示例代码 二、解决方案1. 确保在同步代码块或方法中调用wait()、notify()和notifyAll()2. 使用同步方法3. 使用…

办公人导航-上网导航,找网站,下软件,找资源!

办公人导航是一个专门为办公人员设计的实用导航网站&#xff0c;旨在帮助用户高效地找到各种优质的办公资源和工具。无论是需要查找办公软件、学习资源还是娱乐工具&#xff0c;在办公人导航上都能找到你需要的内容。 办公人导航-实用的办公生活导航网站&#xff01;https://ww…

Linux内核测试技术

Linux 内核是Linux操作系统的核心部分&#xff0c;负责管理硬件资源和提供系统调用接口。随着 Linux 内核的不断发展和更新&#xff0c;其复杂性和代码规模也在不断增加。因此&#xff0c;确保内核的稳定性和可靠性变得尤为重要。内核测试技术是实现这一目标的关键手段。本文将…

Java使用Graphics2D画图,画圆,矩形,透明度等实现

背景 如上图,需要使用Java生成一个图片, 并以base64编码的形式返回给前端展示。 使用Graphics2D类,来进行画图,其中需要画方框、原型、插入图标、写入文字等,同时需要设置透明度等细节点 环境:Jdk17,springboot2.7.13 代码如下 有详细的注释 package com.demo;import c…

白帽子的海外第一单,750刀

国际惯例&#xff0c;给兄弟们看图 这是我们师傅挖国外SRC的部分赏金截图 就问你&#xff01;挖国外漏洞赚美金香不香&#xff01; 现在国内SRC越来越卷了&#xff0c;越来越多的白帽子开始挖海外漏洞赚美金。海外SRC真的比国内赏金高很多&#xff0c;不说高危漏洞&#xff0…

自编码器笔记

编码器解码器自编码器 先压缩特征&#xff0c;再通过特征还原。 判断还原的和原来的是否相等 encode data 在一个“潜在空间”里。它的用途是“深度学习”的核心-学习数据的特征并简化数据表示形式以寻找模式。 变分自编码器&#xff1a; 1. 首先、假设输入数据是符合正态分布…

《mnist_model.h5》在flask中加载mnist模型

一、在tensorflow中新建及保存模型 启动Jupyter Notebook 新建Notebook 代码 from flask import Flask, request, jsonify # type: ignore import numpy as np # type: ignore import tensorflow as tf # type: ignore import json from PIL import Image # type: i…

bigtop gradle 任务依赖关系

./gradlew deb 会编译ubuntu的所有deb包 任务deb会依赖17个任务&#xff0c;它们会按字母排序执行&#xff0c;如下&#xff1a; alluxio-deb bigtop-groovy-deb bigtop-jsvc-deb bigtop-utils-deb flink-deb hadoop-deb hbase-deb hive-deb kafka-deb livy-deb phoenix-deb …

React 19 新特性集合

前言&#xff1a;https://juejin.cn/post/7337207433868197915 新 React 版本信息 伴随 React v19 Beta 的发布&#xff0c;React v18.3 也一并发布。 React v18.3相比最后一个 React v18 的版本 v18.2 &#xff0c;v18.3 添加了一些警告提示&#xff0c;便于尽早发现问题&a…