买个云主机3年680,选择windows server 2016 数据中心版本
一、配置环境:
1.Python版本3.7
2.服务器平台:windows server 2016
3.django
二.Apache下载与配置
1.进入Apache官网,https://www.apachehaus.com/cgi-bin/download.plx下载对应版本
到这里就可以下载相应的版本了,我选择的是Apache2.4 VC15 64为版本(根据需求选择)
2.下载后是一个压缩文件,直接解压缩,获取文件夹里的Apache24文件夹,这个文件夹就是apache服务器文件了,不需要安装,直接将Apache24文件夹移动到你想放的位置。我这里直接将apache24移动到C盘根目录:
3.配置apache服务器文件:
进入C:\Apache24\conf目录,找到httpd.conf文件,这个就是apache服务器的配置文件。
我用vscode打开(也可以用其它编程工具)https://code.visualstudio.com/docs/?dv=win
会看到很多代码,不用管,也不要删除任何代码,直接找到如下代码行进行修改
改动如下三条:
Define SRVROOT "C:/Apache24"
ServerName localhost:8000
Listen 8000
4.创建apache服务
打开命令行(管理员),cd进入C:\Apache24\bin文件夹(此处根据自己实际apache24文件夹所在位置为准),输入如下代码创建服务:
httpd.exe -k install -n "apache2.4" #apache2.4是所创建服务器名称,可更改。
出现successfully installed说明服务创建成功;同时后面可能会跟一些其他信息,说明你的配置是否正确,有错的话再检查步骤3,看路径,ip是否正确。我本人遇到的问题是c++插件报错,下载安装即可。
https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
如果报ahssl的错误,注释掉就行
#Include conf/extra/httpd-ssl.conf
Include conf/extra/httpd-ahssl.conf
创建成功后,启动服务
#启动
C:\Users\Administrator>C:\Apache24\bin\httpd.exe -k start
附常用的apache命令:
C:\Users\Administrator>C:\Apache24\bin\httpd.exe -k install
C:\Users\Administrator>C:\Apache24\bin\httpd.exe -k uninstallC:\Users\Administrator>C:\Apache24\bin\httpd.exe -k start
C:\Users\Administrator>C:\Apache24\bin\httpd.exe -k stopC:\Users\Administrator>C:\Apache24\bin\httpd.exe -k restart
5.在浏览器输入在配置文件中配置的地址localhost:8000,显示如下页面成功:
II:安装python3.7 这里考虑到以后使用机器学习,按照anaconda3
https://www.anaconda.com/distribution/,安装到C盘 python37目录
选自动添加变量
三.配置Django
1.安装mod_wsgi,进入http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi,下载相应版本mod_wsgi Python的插件,这个插件我理解的作用是一个python与apache的接口的作用,因为django项目本身使用python写的。言归正传,进入网址后,下载对应版本,ap24cv24指apache版本,比如我的是apache24, cp37指python37,win_adm64指操作系统为64位,这里一定要下载正确版本,不然后面无法正确部署。
拷贝文件到C盘根目录C:\mod_wsgi-4.6.7+ap24vc15-cp37-cp37m-win_amd64.whl
C:\Users\Administrator>pip install C:\mod_wsgi-4.6.7+ap24vc15-cp37-cp37m-win_amd64.whl
C:\Users\Administrator>mod_wsgi-express module-config
LoadFile "c:/python37/python37.dll"
LoadModule wsgi_module "c:/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:/python37"
出现以下三行提示,这三行一定要记下来,后面配置最重要的就是它了 .
安装django
C:\Users\Administrator>pip install django
C:\Users\Administrator> django-admin startproject mysite
modify wsgi.py add red item.
import os, sys# add the hellodjango project path into the sys.path
sys.path.append('C:/Users/Administrator/mysite')
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
application = get_wsgi_application()
modify settings.py
ALLOWED_HOSTS = ["*"]
C:\Apache24\conf目录,找到httpd.conf文件,这个就是apache服务器的配置文件
#安装wsgi模块后,出来的三行字符,直接复制过来
LoadFile "c:/python37/python37.dll"
LoadModule wsgi_module "c:/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:/python37"
#设置工程中的wsgi路径
WSGIScriptAlias / C:\Users\Administrator\mysite\mysite\wsgi.py
#设置工程路径
WSGIPythonPath C:\Users\Administrator\mysite\mysite
#设置wsgi路径
<Directory C:\Users\Administrator\mysite\mysite\mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#设置静态文件路径
Alias /static C:\Users\Administrator\mysite\mysite\static
<Directory C:\Users\Administrator\mysite\mysite\static>
AllowOverride None
Options None
Require all granted
</Directory>
C:\Users\Administrator>C:\Apache24\bin\httpd.exe -k stop
C:\Users\Administrator>C:\Apache24\bin\httpd.exe -k start
it is done