## 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" ```