Django用Apache和mod_wsgi部署-創(chuàng)新互聯(lián)

背景

創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元鎮(zhèn)江做網(wǎng)站,已為上家服務(wù),為鎮(zhèn)江各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

最近寫了一個(gè)Django在windows上運(yùn)行,但是用的vbs命令,導(dǎo)致在后臺(tái)運(yùn)行的時(shí)候,必須用戶登錄才可以運(yùn)行,還有就是登錄之后,有其他進(jìn)程可能被干掉。

Set ws = CreateObject("Wscript.Shell")

ws.run "cmd /c D:\xxd\run.bat",vbhide

` bat 內(nèi)容

C:\Python37\python3.exe manage.py runserver 0.0.0.0:8000 >> console.log

第二種創(chuàng)建task的方式,也是只能是用戶登錄后才可以,不是service級(jí)別的,不能開機(jī)就運(yùn)行。

第三種就是用sc創(chuàng)建服務(wù)來運(yùn)行, 這個(gè)沒有試。

后面可以從windows遷移到linux也可以運(yùn)行的話,用Apache httpd來運(yùn)行,是非常不錯(cuò)的

準(zhǔn)備

環(huán)境準(zhǔn)備

python3.7

mysql5~8

還有apache -httpd

mod_wsgi

保證python和apache都是統(tǒng)一的,都是32位或者都是64位。

下面是我的pip requirement list

asn1crypto==0.24.0

cffi==1.11.5

cryptography==2.3

Django==2.0.7

idna==2.7

mod-wsgi==4.5.24+ap24vc14

pip==19.3.1

pycparser==2.18

PyMySQL==0.9.2

pytz==2018.5

setuptools==41.6.0

six==1.11.0

wheel==0.31.1

配置

創(chuàng)建工程,搭建mysql環(huán)境,以及怎么啟動(dòng)。可以參考

https://www.djangoproject.com/start/

重點(diǎn)是講下標(biāo)題的用 apache和mod_wsgi來部署django。

什么是mod_wsgi鄭州人流醫(yī)院 http://www.zzzy120.com/

mod_wsgi is an Apache HTTP Server module by Graham Dumpleton that provides a WSGI compliant interface for hosting Python based web applications under Apache. As of version 4.5.3, mod_wsgi supports Python 2 and 3 (starting from 2.6 and 3.2).

安裝apahce, 并設(shè)置一個(gè)環(huán)境變量

key: MOD_WSGI_APACHE_ROOTDIR

value: C:\wamp64\bin\apache\apache\

創(chuàng)建一個(gè)virtualHost啟動(dòng)文件,根據(jù)自己的修改工程名字和路徑

import os

import sys

import site

# Add the site-packages of the chosen virtualenv to work with

site.addsitedir('C:/Python37/Lib/site-packages')

# Add the app's directory to the PYTHONPATH

sys.path.append('D:/xxd/Assetlog')

sys.path.append('D:/xxd/Assetlog/AssetLog')

os.environ['DJANGO_SETTINGS_MODULE'] = 'AssetLog.settings'

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "AssetLog.settings")

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

安裝mod_wdgi

pip3 install mod_wsgi

或者直接用pip3 install whl文件

pip3 install mod_wsgi-4.5.24+ap24vc14-cp37-cp37m-win_amd64.whl

# https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi 這里下載

配置apache和mod_wsgi

查看apache配置信息mod_wsgi-express module-config, 如果執(zhí)行mod_wsgi-express失敗,在python安裝目錄里面找C:\Python37\Scripts,我的在這個(gè)目錄下。

LoadFile "c:/python37/python37.dll"

LoadModule wsgi_module "c:/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win32.pyd"

WSGIPythonHome "c:/python37"

把這個(gè)信息追加到apache配置文件httpd.conf的最后。

最后在配置文件

下面配置apache虛擬主機(jī),如果有多個(gè)django工程,可以添加多個(gè)。配置文件在conf\extra\httpd_vhosts.conf里面

ServerName localhost

WSGIPassAuthorization On

ErrorLog "logs/asset.error.log"

CustomLog "logs/asset.access.log" combined

WSGIScriptAlias / "D:/xxd/Assetlog/AssetLog/wsgi_win.py"

Require all granted

Alias /static "D:/xxd/Assetlog/static"

Require all granted

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享文章:Django用Apache和mod_wsgi部署-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://bm7419.com/article16/cdeggg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、Google、網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計(jì)、定制網(wǎng)站域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)