在macOS中开发的Django项目部署到局域网的Win10服务器上

news2024/10/6 10:38:11

由于windows10是日常办公电脑,没有服务器基本环境,部署工程耗费不少时间,记录一下。

1、安装Python

访问Python官方下载页面:Python Downloads,下载适用于Windows的安装程序并按照提示进行安装。开发环境python版本是3.11.5,我们这里也选择的3.11.5
打开PowerShell,然后输入以下命令检测安装成功与否:

python --version

2、安装MySQL

访问MySQL官方下载页面:MySQL Downloads,下载适用于Windows的安装程序并按照提示进行安装。

在安装过程中,您将需要配置MySQL root用户的密码,并根据需要配置其他选项。

3、代码迁移

考虑到后期更新代码的方便,采用了git方式迁移代码。这边踩了不少坑,感谢网上各位的分享,最终顺利解决。


        3.1 先在win10中安装git
        3.2 创建项目目录和裸仓库      

                在win10中,创建项目目录d:\wwwroot\djangoprj
                为项目创建一个裸仓库:

git init --bare d:\gitrepos\djangoprj.git
        3.3 让macOS 和 Windows10建立连接


                在windows中共享文件夹gitrepos, 并设置相应权限。
                在mac中通过finder的连接服务器,连接到windows。在这个过程中windows中权限设置很多,参考这篇 Mac无法通过smb连接到windows的共享文件夹 才终于得到解决!

       

        3.4 初始化项目仓库并推送代码

                在mac中的项目目录下运行:

git init
git add .
git commit -m "Initial commit"

#在本地仓库添加服务器仓库并推送代码

git remote add production /Volumes/gitrepos/djangoprj.git
git push production master

        

        3.5 克隆代码到项目目录中

                在windows d:\wwwroot\下 运行:

git clone d:\gitrepos\djandoprj.git djandoprj

4、安装项目依赖 

        先为项目创建虚拟环境,然后再安装项目依赖的库。

         在D:\wwwroot目录下运行:
        

python -m venv venv

         激活虚拟环境:

 .\\venv\\Scripts\\activate

        在项目目录下安装依赖的库,运行:

pip install -r requirements.txt

安装django项目依赖

5、配置mysql数据库

6、设置setting.py以适合生产环境

        我们一个简单项目没有涉及静态文件,就不需要设置static_root

7、 下载并部署到服务器waitress

        因为我们项目只有admin后台实现一些CRUD操作,不涉及静态文件及其他复杂操作,就只用waitress运行项目,后期如有不合适再添加nginx.

        7.1 安装waitress:

                在项目目录d:\wwwroot\smallorder的虚拟环境中

pip install waitress
        7.2 编写一个简单Waitress服务启动脚本:


                在 Django 项目根目录下创建一个 Python 脚本 runserver.py

from waitress import serve
from myproject.wsgi import application

if __name__ == "__main__":
    serve(application, host='0.0.0.0', port=8000)

                这样就可以通过使用命令python runserver.py来启动 Waitress 服务器 

8、后期更新代码方法

        8.1 在 macOS 中进行代码更新   

                打开终端并导航到项目目录

git add .
git commit -m "code add"
#退出更改到服务器裸仓库
git push production master
        8.2 在 Windows 服务器上拉取更新     

                打开命令提示符并导航到项目目录:

cd d:\wwwroot\djangoprj
git pull production master

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

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

相关文章

主从Reactor服务器

目录: 目录: 目标: 本文讲解思路: 各模块的功能以及代码: 1.服务器相关模块:服务器模块的功能是对所有的连接以及线程进⾏管理 2.协议相关模块:协议模块是对当前的Reactor模型服务器提供应…

GPT-4o:全面深入了解 OpenAI 的 GPT-4o

GPT-4o:全面深入了解 OpenAI 的 GPT-4o 关于 GPT-4o 的所有信息ChatGPT 增强的用户体验改进的多语言和音频功能GPT-4o 优于 Whisper-v3M3Exam 基准测试中的表现 GPT-4o 的起源追踪语言模型的演变GPT 谱系:人工智能语言的开拓者多模式飞跃:超越…

FSMC的NOR Flash/PSRAM 控制器功能介绍(STM32F4)

目录 概述 1 FSMC支持的类型 1.1 信号类型概述 1.2 FSMC的应用 2 外部存储器接口信号 2.1 I/O NOR Flash 2.2 PSRAM/SRAM 3 支持的存储器和事务 4 通用时序规则 5 NOR Flash/PSRAM 控制器异步事务 5.1 模式 1 - SRAM/PSRAM (CRAM) 5.2 模式 A - SRAM/PSRAM (CRAM…

电机控制杂谈——“双采样双更新模式”对模型预测控制/PI控制的提升有多大?

1.采样频率与PWM开关频率的关系 一般有以下两种采样模式。 如下图(a)所示,这种方式称之为单采单更模式,即在一个PWM周期内,采样一次,更新一次PWM占空比,在这种情况下,采样频率&…

独立服务器和云服务器哪个好?

在当今数字时代,网站托管是任何在线业务成功的关键要素之一。但是,当谈到选择正确的托管解决方案时,很容易陷入独立服务器与云服务器之间的抉择。两者都有各自的优势和限制,因此在决定哪种类型的托管适合您的业务之前,…

JavaScript异步编程——09-Promise类的方法【万字长文,感谢支持】

Promise 类的方法简介 Promise 的 API 分为两种: Promise 实例的方法(也称为:Promis的实例方法) Promise 类的方法(也称为:Promise的静态方法) 前面几篇文章,讲的都是 Promise 实…

基于梯度流的扩散映射卡尔曼滤波算法的信号预处理matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 扩散映射(Diffusion Maps) 4.2 卡尔曼滤波 4.3 基于梯度流的扩散映射卡尔曼滤波(GFDMKF) 5.完整程序 1.程序功能描述 基于梯度流的扩散…

风电功率预测 | 基于RF随机森林的风电功率预测(附matlab完整源码)

风电功率预测 风电功率预测完整代码风电功率预测 基于随机森林(Random Forest, RF)的风电功率预测是一种常用且有效的方法。以下是基于RF的风电功率预测的一般步骤: 数据准备:收集与风电场发电功率相关的数据,包括风速、风向、温度、湿度等气象数据以及风电场的历史功率数…

HTML静态网页成品作业(HTML+CSS)——哈利波特霍格沃茨魔法学院介绍网页(3个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有3个页面。 二、作品演示 三、代…

“ModuleNotFoundError: No module named ‘selenium‘”报错如何解决

接上节:测试平台开发之测试框架改造并发执行及结果隔离(1) 上节博客的末尾提到:在命令窗口执行python main.py 可是执行的时候遇到了如下报错: ERRORS _____________________________________________________________ ERROR collecting te…

SuperMap GIS基础产品FAQ集锦(202404)

一、SuperMap GIS基础产品云GIS-FAQ集锦 问题1:【iServer】【11.1.1】 请问 iServer 是否支持多线程执行 Web 打印功能? 【解决办法】 iServer 是服务端,本身对于前端请求都是在 iServer 异步线程中处理的,可以同时发多个请求打…

YOLOv8独家改进:逐元素乘法(star operation)二次创新 | 微软新作StarNet:超强轻量级Backbone CVPR 2024

💡💡💡创新点:star operation(元素乘法)在无需加宽网络下,将输入映射到高维非线性特征空间的能力,逐元素乘法(star operation)在性能上始终优于求和,基于star operation块做二次创新 💡💡💡如何跟YOLOv8结合:替代YOLOv8的C2f,结构图如下 收录 YOLOv8…

ChatGlm的部署和训练

一、chatGlm的环境部署 1.安装anocoda 下载安装anaconda。具体教程详见官网教程。 2.安装CUDA 1)首先在终端查看你的Nividian版本,命令如下: 2)如果你没有下载你要去下载cuda下载网站,这里是12.3是因为我cuda version版本12…

以管理员身份运行设置

在使用非 Administrator 用户操作情况下: 举个例子,因为每次想要以管理员身份运行命令提示符,都要右键选择才行,有点麻烦。 可以设置每次点开就是以管理员身份运行命令提示符,操作如下: 1.Win R 输入 s…

开源禅道zentao的使用

很不幸禅道因为漏洞被人进攻了,被迫研究。 1.安装 直接使用docker进行部署,这里有非常多门道。官网的镜像easysoft-zentao是属于docker安装,而idoop的镜像虽然也是docker安装,但是实际是使用官网linux一键安装的版本&#xff0c…

【driver6】debugfs,性能优化,

文章目录 1.内核调试手段:debugfs.h中api建立目录/sys/kernel/debug2.性能优化:裸磁盘无法使用,一般都刷文件系统。驱动加上要考虑磁盘io,内存占用,cpu使用情况3.Valgrind内存泄漏排查案例:4.cpu瓶颈&#…

[HUBUCTF 2022 新生赛]ezsql

测试无结果 扫描目录,得到源码 找到注入点 思路:更新资料的时候可以同时更新所有密码 我们需要知道密码的字段名 爆库 nicknameasdf&age111,description(select database())#&descriptionaaa&token31ad6e5a2534a91ed634aca0b27c14a9 爆表…

欧洲风景(地理)

1.尼斯湖 尼斯湖亦译内斯湖,位于英国苏格兰高原北部的大峡谷中,湖长39公里,宽2.4公里。面积并不大,却很深。传说这儿住着一只水怪,因此吸引了大量游客。 2.伦敦塔桥 伦敦塔桥是从英国伦敦泰晤士河口算起的第一座桥(泰…

场景文本检测识别学习 day09(SSM、S4、Mamba、S6)

SSM(State Space Model) SSM是一个针对连续函数的模型,即输入是连续函数,输出也是连续函数。上图为状态方程和输出方程,其中h(t)是当前时刻的状态,x(t)是当前时刻的输入,h’(t)是下一个时刻的状…

MKS 电源 :EDGE 30R40A 400kh 现货 功能正常

MKS 电源 :EDGE 30R40A 400kh 现货 功能正常