欢迎来到NiceSpace!祝大家开心每一天!
  • django
  • python
阿里云ECS(win server2008)部署Django

    自己用Django搭建了个博客网站,在本地部署好后准备部署到云服务器上,以下记录部署过程以及遇到的问题。

一、安装IIS和FTP


    IIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。所以首先安装IIS。
    安装过程:
    window server2008桌面->开始->管理工具->服务器管理器,打开服务器管理后点击角色->添加角色(右侧),会弹出添加角色向导,点击下一步后选择Web服务器(IIS),继续下一步,在选择角色服务时将FTP服务器勾选中(因为我们需要通过云服务器上搭建FTP站点将我们本地的开发环境,工具安装包等都放到云服务器上),之后点击安装即可。
    IIS安装成功后配置FTP站点,window server2008桌面->开始->管理工具->Internet信息服务(IIS)管理器,打开Internet信息服务(IIS)管理器后右键点击网站出现添加“FTP站点”就表示FTP服务安装成功。之后创建Windows用户名和密码,用于FTP使用。window server2008桌面->开始->管理工具->服务器管理器,点击配置->本地用户和组->用户,右键添加新用户,在新用户里添加自己ftp站点的用户名(例如:ftptools)和密码,给本地主机连接云服务器ftp站点用。之后在服务器磁盘上创建一个供FTP使用的文件夹,创建FTP站点,指定刚刚创建的用户ftptest,赋予读写权限。window server2008桌面->开始->管理工具->Internet信息服务(IIS)管理器,打开Internet信息服务(IIS)管理器后右键点击网站添加FTP站点,输入站点名称和物理路径,下一步绑定21端口号,授权之前创建的ftptools用户允许访问和读写权限。之后就可以在本地主机上访问云服务的FTP站点了,这里可以下个ftp传输工具FileZilla,也可以用本地计算机连。连接时路径的IP是云服务器的公网IP,用户名和密码是刚刚为ftp站点创建的用户名和密码。连接成功后就可以将搭建开发环境必备的工具和安装包都复制到云服务器上一份了。
    详细图文教程:https://help.aliyun.com/document_detail/51998.html

 

二、云服务器上部署Django


    首先在ECS上安装Python2.7 32位,我的安装包是Python27.msi,操作系统是winserver 2008企业版 64位,结果在安装Python时报了错误,查看事件查看器提示:“C:\Python27\python.exe”的激活上下文生成失败。 找不到从属程序集Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b" ,type="win32", version="9.0.21022.8"。根据错误得知ECS上没有version="9.0.21022.8"的Microsoft.VC90.CRT,这个问题搞了很久,最后没办法安装了个VS2008,虽然安装失败了,但是安装程序自动为系统安装了vs2008的安装环境其中就包含这个包,所以该问题就碰巧解决了。安装好Python后配置了环境变量,将安装的Python加到环境变量中,之后安装pip,然后使用pip来安装Django,但是安装Django时遇到了一些问题。开始总是报memerror,后来使用pip --no-cache-dir install django解决,之后还是报内存不足,但是这回是windows error的错误码,又搞了好久,最后得知是真的系统内存不足,买的ECS就1g的运行内存,之前开了配置管理器,事件管理器等没关,基本上就没内存了,真是崩溃。Django安好后安装Django-ckeditor,安装mysql,将本地的博客项目打包放到ECS,重新按照本地部署流程部署一遍(之前的文章中有相关的部署过程),最后托管到Apache,这个时候通过外网IP:端口号可以访问到博客网站,但是域名绑定IP时是不绑定端口号的,这是因为通过域名访问的网站默认访问web服务器的80端口,所以修改Apache/conf/httpd.cof中监听的端口为80端口,但是启动httpd.exe -k start时发现80端口已经被占用,cmd命令:netstat -aon|findstr "80"可以查看80端口号被哪个进程ID占用,但是一般安装IIS时会有个default web site会占用80端口,停止该站点后80端口会被释放,重新启动Apache应该就可以了。

 

随机文章
基于Assimp的骨骼动画实现 Apache+mod_wsgi本地部署Django(Windows系统) 3D图形学总结(六)—背面消除与物体剔除 chrome javascript程序拓展(订餐插件) 3D图形学总结(十)—纹理映射透视矫正
推荐文章