windows下部署django


## Windows下django+apache+mysql+redis项目部署

#### 1.Python3.54安装
```text
1.从官网下载可执行安装文件
    https://www.python.org/downloads/windows/
    选择Windows x86-64 executable installer
    # 预安装基础模块
2.添加系统环境
    如:C:\Python\python27和C:\Python\python27\Scripts
3.更新pip3
    python -m pip install --upgrade pip --force-reinstall
4.安装项目依赖
    # 先安装tornado
    pip3 install tornado-5.1.1-cp35-cp35m-win_amd64.whl
    pip3 install -r requirements.txt
5.手动下载并安装mod_wsgi    
    pip3 install mod_wsgi-4.5.24+ap24vc14-cp35-cp35m-win_amd64.whl
    
6.没网的情况下安装依赖包
    # 下载
    pip3 download -d C:\Users\Administrator\Desktop\package -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
    # 安装
    pip3 install --no-index --find-links=C:\Users\Administrator\Desktop\package -r requirements.txt
    
    
```

#### 2.MySQL5.6安装
```text
1.添加mysql的bin目录至系统环境
    C:\Application\MySQL\mysql-5.6.45-winx64\bin
2.创建一个my.ini的文件,放在mysql目录里面,内容如下
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8 
    [mysqld]
    #设置3306端口
    port = 3306 
    # 设置mysql的安装目录
    basedir=E:/mysql-5.7.12-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=E:/mysql-5.7.12-winx64/data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    
    wait_timeout=31536000 
    interactive_timeout=31536000 

3.初始化数据库、安装并启动服务
    mysqld --initialize-insecure  
    mysqld -install # 如果已存在,则删除:sc delete mysql  或者 mysql -remove
    net start mysql 
4.初始化登录密码
    mysqladmin -u root password *******
5.删除无用配置
    delete from mysql.user where user='';  
    delete from mysql.user where host='::1';
6.令所用用户可以访问
    update user set host='%' where user ='root';
    flush privileges;
7.导入项目数据库(先创建数据库)
    mysql -uroot -p jx_tesudrm < jx_tesudrm.sql
```

#### 3.Redis3.2.1安装
```text
# 官网下载地址:http://redis.io/download
# github下载地址:https://github.com/MSOpenTech/redis/tags |Redis-x64-3.2.100
# 1.解压
# 2.启动:
    redis-server redis.windows.conf # 指定配置文件开启
# 3.设置redis服务(开机自启):
redis-server --service-install redis.windows.conf --loglevel verbose
# 4.常用命令:
#     卸载服务:redis-server --service-uninstall
#     开启服务:redis-server --service-start
#     停止服务:redis-server --service-stop
# 5.测试:
    redis-cli.exe -h 127.0.0.1 -p 6379
    >> ping
    >> pong
```


#### 4.Apache安装
```text
1.解压下载的压缩包:
    httpd-2.4.41-o102s-x64-vc14-r2.zip
    # 将解压出的apache24移植指定位置
2.修改配置文件
    C:\Application\Apache24\conf\httpd.conf
    
    Define SRVROOT "C:\Apache24"  #Apache24文件的路径,其余不用改。
    Listen 192.168.184.146:8000 #此处为你要发布的网站ip地址,此处我用我电脑的ip和端口,你也可以用127.0.0.1:8000用于本地测试;80端口自己设置
    ServerName 192.168.184.146:8000
3.创建apache服务(管理员权限开启终端) # Define ENABLE_TLS13 "Yes"  
    httpd.exe -k install -n "apache2.4"  #apache2.4是所创建服务器名称,可更改。
    # 重启apache命令:httpd.exe -k restart
4.访问测试:192.168.184.146:8000
5.配置mod_wsgi
    5.1 查看mod_wsgi路径
        mod_wsgi-express module-config
        >> 记录下来
        LoadFile "c:/application/python35/python35.dll"
        LoadModule wsgi_module "c:/application/python35/lib/site-packages/mod_wsgi/server/mod_wsgi.cp35-win_amd64.pyd"
        WSGIPythonHome "c:/application/python35"
    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')
        ]
        
        # 收集静态文件
        python3 manage.py collectstatic
        
        # 注销掉物理路径
        # STATIC_ROOT,SITE_ROOT   
    
    5.2 修改配置文件httpd.conf mod_wsgi-express module-config
        #安装wsgi模块后,出来的三行字符,直接复制过来
        LoadFile "c:/application/python35/python35.dll"
        LoadModule wsgi_module "c:/application/python35/lib/site-packages/mod_wsgi/server/mod_wsgi.cp35-win_amd64.pyd"
        WSGIPythonHome "c:/application/python35"
        #设置工程中的wsgi路径
        WSGIScriptAlias / C:\Pro\Tools\TSDRM\TSDRM\wsgi.py
        #设置工程路径
        WSGIPythonPath  C:\Pro\Tools\TSDRM
        #设置wsgi路径
        <Directory C:\Pro\Tools\TSDRM\TSDRM>
            <Files wsgi.py>
                Require all granted
            </Files>
        </Directory>
        #设置静态文件路径
        Alias /static C:\Pro\Tools\TSDRM\static
        <Directory C:\Pro\Tools\TSDRM\static>  
            AllowOverride None  
            Options None  
            Require all granted  
        </Directory> 
    5.3 urls.py 静态文件反向代理
        from django.contrib.staticfiles.urls import staticfiles_urlpatterns
        urlpatterns += staticfiles_urlpatterns()
6.注意:不要导入    win_unicode_console
7.将wkhtmltopdf应用软件拷贝至apache目录下
    # 新建文件faconstor
    拷贝static文件夹至faconstor
8.celery在windows下重启自动启动
    进入文件夹:
    win7:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    win10:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
    放入bat脚本:
    cmd /k "cd /d D:\Pros\TSDRM && python manage.py runserver"
```


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM