Windows+Apache+Python+Django 踩坑记录

  使用Python进行Web项目开发;相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部署方案,相对PHP有更安全开放的环境支持,这些不同点几乎完全取决于Python语言本身的特性。

0x01: 环境部署

  注:开发环境与运行环境的部署需要的基本技能 —— 理论基础知识扎实,了解相关基本原理,了解具体开发体系;如果不具备这些能力那么遇到问题就会很懵

  0x11: Windows+Apache 部署

  1. Apache压缩包直接百度 "Apache" 就能找到官网下载了,飞机票>>  ;压缩包解压至安装目录,路径最好不要含有中文和空格(江湖规矩)

  2. httpd.conf 配置文件(apachePath/conf/httpd.conf),Apache部署中最重要的部分,一般只用修改第一条 ServerRoot 就可以了,文档中 "#" 为行注释

    ServerRoot 改为你的真实路径(一般在37行上下),Ex: ServerRoot "D:/Program/Apache/Apache24",新版本Apache中采用 "SRVROOT" 宏替换后面所有会用到路径的地方,新版本修改 Define SRVROOT "c:/Apache24" 为真实路径可全局替换,较老版本要手动修改以下两个地方:标识静态文件路径(大概在251行上下)以及文件访问权限,CGI 脚本路径及访问权限(大概在368/380行上下);注意:路径分隔为 "http://www.likecs.com/" 而不是 "\"

    Listen 为监听端口,默认80(通常在60行上下)一般不用修改

    LoadModule 为随Apache启动加载的模块(71-185左右),一般不用管

    ServerName 取消注释(225上下),好像是 IANA DNS导航什么的

    DocumentRoot 表示静态文件路径,见第一条 ServerRoot

    ErrorLog 表示记录文件输出路径(300行上下),debug的时候会经常用到这个文件,不更改记录级别的话提示警告什么的也在里面,我也不知道咋回事儿

    LogLevel 表示记录输出级别(310行上下),取值文档中有注释麻烦自己看

    Include 表示要引入的其它配置文件(原文档中490-530行大量出现),要使用了再详细了解吧

    <Files xx.xx*> 表示文件访问权限,按类型限制

    <IfModule xxx_module> 标签表示如果加载了 xxx_module 模块就将其内容作为该模块的配置

    <Directory xxxx> 标签表示文件夹权限,见第一条 ServerRoot

   3. 安装/卸载系统服务,不安装没法用

    安装:管理员权限打开控制台,cd 到 Apache24/bin/ 目录下,执行 "httpd -k install" 将Apache服务注入系统,可使用 -n 参数指定服务名(一般不要这么干),Ex: "httpd -k install -n "Apache2439" ",如此步安装过程报错考虑可能是VC库版本问题,一般Apache压缩包中会有一个空文件,文件名表示该版本所依赖的VC库,若无请自行下载

    安装完成后可到系统服务将该服务 "自动启动" 改为手动启动,否则该服务将随系统开启而启动;如果部署到服务器则不用修改

    卸载:管理员权限打开控制台,cd 到 Apache24/bin/ 目录下,执行 "httpd -k uninstall" 卸载服务,若注入服务时使用 -n 参数指定服务名则此处也要用 -n 参数指定

  4. 启动/停止/重启服务

    启动:管理员权限打开控制台,cd 到 Apache24/bin/ 目录下,执行 "httpd -k start" 开始运行服务器,若注入服务时使用 -n 参数指定服务名则此处也要用 -n 参数指定

    重启:"httpd -k restart"

    停止:"httpd -k stop"

    其它:"httpd -h" 可查看httpd支持的所有命令,当然,是英文版的

  n. 若上述步骤都没有什么问题,则访问 127.0.0.1 就能看到 "It works!" 了(服务器需允许httpd.exe通过防火墙)

  0x21: Apache+Django部署

  注:Python安装都不会的就不用继续看了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyyxw.html