Windows下部署Django(Apache+mod_wsgi)

一、Python3.5.4安装

1.1 下载地址

https://www.python.org/downloads/windows/

选择Windows x86-64 executable installer
下载解压:python-3.5.4-amd64.exe

问题:安装python-3.5.4-amd64.exe时报错:0x80240017
解决:重装系统:Windows8.1-KB2919355-x64.msu
    下载Windows8.1-KB2919355-x64.msu:
    https://pan.baidu.com/s/1Iw8y-jsbnrLyzUncua1lSQ#list/path=%2F

1.2 添加系统环境

如:C:\Python\python35和C:\Python\python35\Scripts

1.3 更新pip3

python -m pip install --upgrade pip --force-reinstall

1.4 安装项目依赖

先安装tornado:tornado-5.1.1-cp35-cp35m-win_amd64.whl

下载网址:https://pypi.org/project/tornado/5.1.1/#files

pip3 install tornado-5.1.1-cp35-cp35m-win_amd64.whl

再安装项目依赖
pip3 install -r requirements.txt   注:这里会报错,执行1.6中的步骤进行安装

1.5 手动下载并安装mod_wsgi

下载网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

找到下载:mod_wsgi-4.5.24+ap24vc14-cp35-cp35m-win_amd64.whl

pip3 install mod_wsgi-4.5.24+ap24vc14-cp35-cp35m-win_amd64.whl

1.6 没网的情况下安装依赖包

①下载:(直接在pycharm上项目路径下)
pip3 download -d C:\Users\hzx\Desktop\package -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

注:C:\Users\hzx\Desktop\package  指的是桌面上新建的空文件夹为package的路径,

②安装:把package文件夹和requirements.txt放在C盘根目录下
  pip3 install --no-index --find-links=C:\package -r requirements.txt

③问题:安装过项目依赖后,执行python manage.py runserver 192.168.1.67:8000后会报错,提示xxx模块没有安装,解决依次执行pip3 install 模块名==版本号 -i https://pypi.tuna.tsinghua.edu.cn/simple/

二、MySQL5.6安装

2.1 添加mysql的bin目录至系统环境

C:\ MySQL5.6\mysql-5.6.45-winx64\bin

2.2 配置my.ini

创建my.ini文件,放在bin目录下面,配置内容:

[mysql]
default-character-set=utf8                  # 设置mysql客户端默认字符集
[mysqld]
port = 3306                               # 设置3306端口
basedir=E:/mysql-5.7.12-winx64             #  设置mysql的安装目录
datadir=E:/mysql-5.7.12-winx64/data         # 设置mysql数据库的数据的存放目录
max_connections=200                      # 允许最大连接数
character-set-server=utf8                   # 服务端使用的字符集默认为8比特编码的latin1字符集
default-storage-engine=INNODB            # 创建新表时将使用的默认存储引擎

2.3 初始化数据库、安装并启动服务

mysqld --initialize-insecure
mysqld -install    如果已存在,则删除:sc delete mysql  或者 mysql –remove
net start mysql     

2.4 初始化登录密码

mysqladmin -u root -p password
回车
出现Enter password:直接回车,未设置密码时默认没有密码,
接着出现“New password:”输入新的密码password,回车即可,
接着出现“Confirm new password:”确认密码password,回车即可。
登录mysql:mysql –uroot –ppassword

2.5 删除无用配置

delete from mysql.user where user=‘‘;
delete from mysql.user where host=‘::1‘;

2.6 令所用用户可以访问

update user set host=‘%‘ where user =‘root‘;
flush privileges;

2.7 导入项目数据库

①先创建数据库
mysql –uroot –ppassword
create database tesudrm_adg charset=utf8;
②导入项目数据库
mysql -uroot -ppassword tesudrm_adg < tesudrm_adg.sql

三、Redis3.2.1安装

3.1 下载地址

https://github.com/MSOpenTech/redis
版本:Redis-x64-3.2.100

3.2 解压安装

3.3 启动

redis-server redis.windows.conf  指定配置文件开启

3.4 设置redis服务(开机自启)

redis-server --service-install redis.windows.conf --loglevel verbose

3.5 常用命令

卸载服务:redis-server --service-uninstall
开启服务:redis-server --service-start
停止服务:redis-server --service-stop

3.6 测试

redis-cli -h 127.0.0.1 -p 6379

四、Apache安装

4.1 解压下载的压缩包

https://de.apachehaus.com/downloads/httpd-2.4.41-o102s-x64-vc14-r2.zip

解压httpd-2.4.41-o102s-x64-vc14-r2.zip
将解压出的Apache24移植指定位置C盘根路径:C:\

4.2 修改配置文件

cd C:\ Apache24\conf\httpd.conf
①Apache24文件的路径,其余不用改:
Define SRVROOT "C:\Apache24"
②此处为你要发布的网站ip地址,此处我用我电脑的ip和端口,你也可以用127.0.0.1:8000用于本地测试;80端口自己设置
Listen 192.168.1.67:8000
ServerName 192.168.1.67:8000

③注释:
# Define ENABLE_TLS13 "Yes"

4.3 创建apache服务(管理员权限开启终端)

①cd C:\Apache24\bin
②创建服务:httpd.exe -k install -n "Apache24"
③卸载服务:httpd.exe -k uninstall -n "Apache24"
④重启apache命令:httpd.exe -k restart    

4.4 访问测试

192.168.1.67:8000  出现页面,则Apache服务配置成功

4.5 配置mod_wsgi

①查看mod_wsgi路径
mod_wsgi-express module-config
②记录下来
LoadFile "c: /python35/python35.dll"
LoadModule wsgi_module "c:/ python35/lib/site-packages/mod_wsgi/server/mod_wsgi.cp35-win_amd64.pyd"
WSGIPythonHome "c:/python35"  

五、项目TSDRM_ADG

5.1 拷贝项目到C盘根目录下

5.2 设置django静态文件路径

①settings.py文件中写入静态文件物理路径(已经写了)
SITE_ROOT=os.path.join(os.path.abspath(os.path.dirname(__file__)),‘..‘)
STATIC_ROOT = os.path.join(SITE_ROOT,‘static‘)

②添加静态文件访问逻辑路径
  STATICFILES_DIRS = [
      os.path.join(BASE_DIR, ‘static‘)
  ]

③收集静态文件
python manage.py collectstatic

④注销掉物理路径
# STATIC_ROOT
# SITE_ROOT   

5.3 修改配置文件httpd.conf

①安装wsgi模块后,出来的三行字符,直接复制过来
LoadFile "c: /python35/python35.dll"
LoadModule wsgi_module "c:/ python35/lib/site-packages/mod_wsgi/server/mod_wsgi.cp35-win_amd64.pyd"
WSGIPythonHome "c:/python35"

②设置项目中的wsgi路径
WSGIScriptAlias / C:\ TSDRM_ADG\TSDRM\wsgi.py
③设置项目路径
WSGIPythonPath  C:\ TSDRM_ADG
④设置wsgi路径
        <Directory C:\ TSDRM_ADG\TSDRM>
            <Files wsgi.py>
                Require all granted
            </Files>
        </Directory>

⑤设置静态文件路径
        Alias /static C:\ TSDRM_ADG\static
        <Directory C:\ TSDRM_ADG\static>
            AllowOverride None
            Options None
            Require all granted
        </Directory>
注意:不要导入    win_unicode_console

5.4 访问项目:192.168.1.67:8000

①问题:Forbidden You don‘t have permission to access this resource.
  解决:
  找到 apache 配置文件 httpd.conf
  把里面的
    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
  改为
    <Directory />
        AllowOverride none
        Require all granted
    </Directory>
    

②问题:
  Internal Server Error
  The server encountered an internal error or misconfiguration and was unable to complete your request.

  Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error

查看问题:进入到C:\Apache24\logs
查看error.log,报错信息:
    File "C:\\python35\\lib\\site-packages\\django\\__init__.py", line 17, in setup\r
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)\r
    File "C:\\python35\\lib\\importlib\\__init__.py", line 126, in import_module\r
    cursor.execute(sql)\r
    File "C:\\python35\\lib\\site-packages\\pymysql\\cursors.py", line 165, in execute\r
    result = self._query(query)\r
    File "C:\\python35\\lib\\site-packages\\pymysql\\cursors.py", line 321, in _query\r
    conn.query(q)\r
    File "C:\\python35\\lib\\site-packages\\pymysql\\connections.py", line 860, in query\r
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)\r
    pymysql.err.InternalError: (1046, ‘No database selected‘)\r
解决:路径出错
  进入到项目settings.py中:
  db_config_file = os.path.join(os.path.join(os.path.join(os.getcwd(), "faconstor"), "config"), "db_config.xml")
  print(os.getcwd())   ? C:\Apache24  这里需要把项目文件拷贝到Apache24根路径下就能决绝错误

5.5 下载wkhtmltopdf应用软件

①地址:https://github.com/wkhtmltopdf/wkhtmltopdf/releases/
②下载对应的应用软件:wkhtmltox-0.12.5-1.msvc2015-win64.exe
③将wkhtmltopdf应用软件拷贝至Apach24目录

原文地址:https://www.cnblogs.com/zhangguosheng1121/p/11891340.html

时间: 2024-08-28 22:56:50

Windows下部署Django(Apache+mod_wsgi)的相关文章

虚拟CentOS6下配置Django+Apache+mod_wsgi+Sqlite3

0. 安装环境: CentOs版本:   VMWare中CentOs6.4 Python版本:   Python3.4.0 Apache版本:   Httpd2.2.15 Sqlite3版本: Django版本: Django1.8.5 Mod_wsgi版本:    Mod_wsgi 4.4.15   https://pypi.python.org/pypi/mod_wsgi 1. 安装CentOS 注意: 网络适配器选择 网络配置 /etc/sysconfig/network-scripts/

linux+django+apache+mod_wsgi+eclipse+python2.7 环境的搭建

首先,说明下环境: linux:fedora14: IDE:eclipse: python:python2.7 python框架:django web服务器:apache web服务器的python模块:mod_wsgi 写在前面: 之前用的windows下面的xampp,写的php后台,现在想转向linux下面的python,跟以前一样,选择apache和eclipse作为自己的开发工具. eclipse的python配置, 参见之前的博客:http://blog.csdn.net/zy416

windows 下部署kafka 日记 转

windows 下部署kafka 日记 转一.下载去apache 的官网(http://kafka.apache.org/downloads.html)下载最新的二进制版的压缩包.目前的最新版本是kafka_2.11-0.8.2.1.tgz.二.解压直接解压到D 盘根目录下.三.修改配置文件注意版本不同,可能配置文件不同.请参照实际情况修改.1.修改log4j.properties 文件中的“kafka.logs.dir=logs ”为“kafka.logs.dir=/tmp/logs”.2.修

Windows下64位Apache服务器的安装

转自:http://www.blogjava.net/greatyuqing/archive/2013/02/13/395308.html 首先需要说明的是,Apaceh服务器没有官方的64位版本,只有民间的高手自己制作的.下面是具体的安装步骤. 在https://blackdot.be/download-archive/ 下载64位的Apache服务器.目前的版本是2.2.19,下载之后的压缩包名为httpd-2.2.19-win64.rar: 将该包解压至一个目录,如我的目录为E:\Apac

QT程序在windows下部署发布

转载:http://www.cnblogs.com/Fan_Fan/archive/2010/05/29/1746860.html QT程序在windows下部署发布 以下包括了部分网上收集的,以及qt帮助里的内容(Deploying an Application on Qt/Windows) 首先,打开windows控制台,然后,找到vs安装目录下的bin里,执行 vcvars32.bat 这个脚本.执行完之后,vs需要的所有环境变量就已经设置好了. 我的环境是QT 4.3.3 + mingw

windows下 php、apache 版本选择 解惑说明

每次安装php开发环境的时候总是得或多或少困惑一阵,今天来梳理一下apache,php之间的关系(根据http://www.ituring.com.cn/article/128439整理,添加.) 1.apache和php都是由visual studio编译. 因此我们经常会遇到选择VC6/VC9/VC11的困惑.PHP官方不建议在Windows下安装从apache.org网站下载的Apache二进制安装包.原因就是这些安装包是基于陈旧的Visual Studio 6编译的,导致你不得不必须使用

[django]windows下用Django,静态文件请求失败,出现UnicodeDecodeError

问题:windows下用Django,静态文件请求失败,出现UnicodeDecodeError:'utf-8' codec can't decode byte 0xb0 in position 1:invalid start byte,怎么解决啊? 回答:应该是静态文件的格式问题.也许它的编码是GBK的,你用UTF-8解,就解不开.用记事本打开,另存一个UTF-8格式.

Linux 下部署Django项目

Linux 下部署Django项目 说明:本文所使用的环境为CentOS 6+Python2.7+Django1.11 安装Django.Nginx和uWSGI 1.确定已经安装了2.7版本的Python: 2.安装python-devel yum install python-devel 3.安装uwsgi pip install uwsgi 测试uwsgi是否能正常工作 1.新建一个index.py: # index.py def application(env, start_respons

全站之路一路坑(2)——在Apache下部署django博客

上一篇博客:全栈之路一路坑之使用django开发博客 开发完博客之后,很多后续应用需要博客部署之后才可以使用,这篇文章就来尝试一下将开发好的博客部署到服务器上. 开发阶段,一直使用的是virtualenv和python manage.py runserver,但需要部署到服务器上时就有些不合适了,所以我尝试把它部署到Apache里. 查阅了相关资料发现部署方法有两种,一种是python_mod,另一种是wsgi,资料上说后者更加稳定一点,所以我选择使用wsgi进行集成. 安装httpd-deve