windows环境下部署项目
有些时候,我们的项目不得不用windows服务器部署,但是需要注意的是,windows服务是无法开启多进程处理请求的。
本文介绍如何在windows上部署flask项目,应用 apache + mod-wsgi + flask
Apache和mod-wsgi的版本根据当前的操作系统和python版本一定要选择对
查询端口号是否被占用的命令:netstat -aon|findstr “端口号” 如果端口被占用,就会显示一行信息,最后一列数字是PID号
查看当前端口对应的PID是哪个进程的:tasklist|findstr "PID号"
1. 下载Apache的版本
网址是:https://www.apachelounge.com/download/VC14/
因为我们的系统是64位的,所以我们选择Win64版本的Apache
2. 下载mod-wsgi
网址是:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
因为我们的python是3.7版本的,所以我们选择mod_wsgi-4.9.0-cp37-cp37m-win_amd64这个版本
3. 我们的python环境需要安装mod-wsgi
Cmd进入终端页面,切换到我们python环境中,然后执行pip install mod-wsgi文件存放的具体路径
然后执行mod_wsgi-express module-config 这条命令会生成3行数据,我们先保存下来
4. 配置Apache
首先我们把Apache解压,路径可以随意选择,最好不要在c盘
其次我们打开conf文件夹,找到httpd.conf文件,进行编辑
(1)修改成我们Apache解压的位置
(2)修改我们需要监听的端口号,且加入一行ServerName localhost:监听的端口号
(3)添加我们之前在安装mod-wsgi时,生成的那3行数据
(4)LoadModule access_compat_module modules/mod_access_compat.so 前面的#删掉
(5)去添加项目的路径和wsgi的路径,这里不要出错
(6)修改好之后记得保存该文件
5. 添加环境变量(特别重要,否则会一直报错)
错误信息:
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
这个错误大概率就是我们环境变量添加的有问题,所以一定要注意
首先要进入我的电脑—属性—高级系统设置—环境变量
其次在环境变量的系统变量中新建一条数据,并按照图示去添加
6. 添加wsgi文件
回到我们的项目中,新建一个run.wsgi文件
7. 安装Apache的服务
(1)首先搜索cmd,然后以管理员身份运行
(2)其次进入Apache的bin目录下
(3)最后安装Apache服务,名称可以自定义 httpd –k install –n “Apache服务名称”
8. 启动服务
搜索任务管理器,以管理员身份运行。之后我们项目更新迭代或服务器重启后,我们直接重启这个服务,代码就部署上了
windows环境下部署项目的更多相关文章
- Django Windows环境下部署
环境准备 本文将介绍如何在Windows系统上部署Django web项目,本次部署基于下面的架构: Windows10 64位+Python3.6+Django1.11+Apache2.4+mod_ ...
- 在Windows环境下部署Axis2/C服务
Apache Axis2/C是C语言实现的网络服务引擎,基于Axis2架构,支持SOAP1.1和SOAP1.2协议,并且支持RESTful风格的Web service. 下面是本人在Windows 7 ...
- Windows环境下部署Tomcat服务器图文教程
Tomcat是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. 本文将详细介绍在Windows环境下 ...
- 在windows环境下部署nuxt项目(线上发布部署)
因为公司项目需要兼容SEO,同时我们也一直希望能够真正的实现前后端分离,于是毫不犹豫的选择了nuxt. 话说要重构前后端分离真是一个大工程,由于各种原因我们团队花了近两年时间都没有完成,最近才又重启把 ...
- IIS环境下部署项目
1.环境部署 1.1安装IIS7 进入控制面板,选择"程序和功能",进入如下页面后,点击"Turn Windows features on or off". 找 ...
- myeclipse在过时的环境下部署项目出现的问题
开发环境 操作系统:xp sp3 2002 (ps:客户公司环境只有这个老古董) 开发工具:myeclipse2014 32位 jdk: 1.7_49 32位 DB:DB2 9.1 32位 ...
- windows环境下部署一个Jenkins工程
首先要安装配置好Jenkins环境变量,具体操作可参考其他文章 确保Jenkins可以正常运行之后开始进行项目的部署 首页点击新建,进行新建一个工程 进入项目添加界面,填入项目名称并选择构建一个自由风 ...
- Thinkphp在Lnmp环境下部署项目先后报错问题解决:_STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Home/...Access denied.
首先报错:_STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Home/769e70f2e46f34ceb60619bbda5e4691.php 解决此 ...
- Linux环境下部署项目时的步骤和一些要注意的点
SQL的导出和导入 sql的导出 首先选中要导出的数据库 然后点击左下角的administration选项,进入导出界面. 点击Data Export 然后勾选图中的几个选项即可导出一个sql,如果需 ...
- Windows环境下部署MySQL主从并模拟升级到8.0
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.部署实例 1.下载2个软件 http://ftp.kaist.ac.kr/mysql/Downloads/MySQL- ...
随机推荐
- bzoj5000+的洛谷题号
前言 闲得没事把 bzoj5000+ 在 Luogu 上可找到的题面整理了一下-- 对于我,bzoj 连账号都没有,所以肯定是不清楚 bzoj 题目总数的--因此其实就是手动翻查. 工作量很大,基本不 ...
- 前端有关请求的相关内容axios
在请求头中常见的类型有 类型一 查看消息体 此时的请求拦截器中不需要对数据( 对象的形式 ) 进行修饰,默认会将数据修复为json的格式 类型二,当我们使用qs库对数据进行转换后(qs库的存在旨在是将 ...
- 403. 青蛙过河 (Hard)
问题描述 403. 青蛙过河 (Hard) 一只青蛙想要过河. 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有). 青蛙可以跳上石子,但是不可以跳入水中. 给你石 ...
- leetcode 31. 下一个排列 【时间击败 100%】 【内存击败 92.17%】
对于该题,我本来兴致勃勃地想到了两个优化,但从提交结果来看根本看不出来有什么区别,但我发4我说的都是真的 -3- 1 public void nextPermutation(int[] nums) { ...
- jssip3.9.1的demo,webphone网页电话
用的目前最新的3.9.1版本,全版本在这里: https://jssip.net/download/releases/ https://github.com/versatica/JsSIP 代码: & ...
- JavaScript项目榜单
JavaScript项目榜单 参考资料 2022年最受欢迎的JavaScript项目榜单出炉 Best of JS 正式公布 2022 年 JavaScript 明星项目榜单 该榜单提供了过去 12 ...
- LambdaQueryWrapper 的条件构造器方法对应Sql
setSqlSelect SELECT 查询字段 where WHERE 语句,拼接 + WHERE 条件 and AND 语句,拼接 + AND 字段=值 andNew AND 语句,拼接 + AN ...
- excel快速生成相同内容
先选中你所需要的单元格,如图所示: 输入自己想要的字符,然后按ctrl+enter,如图所示:
- Word发博客测试
这是一篇来自word的文章测试,测试word写博客发布效果. 操作参考:http://www.cnblogs.com/liezhengli/p/5854470.html 关键在于找到博客园的MetaW ...
- [Err] [Dtf] 1044 - Access denied for user 'root'@'localhost' to database 'information_schema'
在从Oracle向mysql数据库传输数据时,报出来这个错误,原因是因为没有打开mysql数据库,在navicat里打开mysql,并选中要传输的数据库 再重复传输一下即可