20171221 活学活用,--练习对3个都有效的*.conf的分析和解释

万变不离关键 :

conf 要想成功,关键 在于

---// home:指明 了 myapp(某运行的app,可以是test_wsgi.py ,可以是hello.py ...) 的位置

--// python-home: 就是python引导文件(lib/bin)的位置,注意结尾没有 “/”


下面 用我接触过的3个例子进行 解释说明

头2个例子可以对比着看 ,分析比较 这个3个条件的不同满足形式

第3个例子除了 可以和头2个例子对比之外,还有对这3个条件的进阶理解 ,可以深度体会(恰好也是来自flask最新的0.12版的官方的例子)


例子01, 点评 第一个  --我自己的子试验01的例子!

20171221 活学活用,--练习对3个都有效的*.conf的分析和解释_第1张图片

这个conf 为什么可以通过 --3个条件== myapp位置,python(虚拟)引导位置,mod_Load

1-a)在WSGIDaemonProcess ,的[option]  home =/var/www/html ,指明了test_wsgi的物理位置 ,带“/”

1-b) WSGIScriptAlias   /test_wsgi    /var/www/html/test_wsgi.py 

这个2 ) 其实 是 和1)里的home= 作用一样的,所以 只留一个,其实也会成功通过

2) 另外 一个必要前提 是在主配置文件里面 ,已经有

WSGIPyhonHome ==  /var/www/firstapp/venv    没有“/” 结尾

这个也代表 ,已经告知 apache2 ,pyton的引导的位置了, 所以2个必要前提都通过 。

3)已经 通过a2enmod,把mod_wsgi.so 给load module上去了 


例子02, 点评 第2个  -- flask by example 的conf + 思诚之道Billy.J.Hee的技术博客 的mod_设置的   例子

flask by example 的conf 如下  --里面的WSGIScriptAlias 帮助满足了条件01 =myapp位置

20171221 活学活用,--练习对3个都有效的*.conf的分析和解释_第2张图片

思诚之道Billy.J.Hee的技术博客 的mod_设置 --帮助设置 python的位置==前提条件案02(详见羡慕的2 /configure)和03mod_load (详见下面的4. load.mod)



20171221 活学活用,--练习对3个都有效的*.conf的分析和解释_第3张图片



例子03 :来自flask最新的0.12版的官方的例子

http://flask.pocoo.org/docs/0.12/deploying/mod_wsgi/


下面的图片,先显示和说明的第3个条件 mod_load在后台已经是 ok的了 ,并且谈论*.wsgi 的内容如下: 

20171221 活学活用,--练习对3个都有效的*.conf的分析和解释_第4张图片

下面的第2个图片,显示:第1个条件 myapp的位置  ,(WSGIScriptAlias) 已经是ok的了


20171221 活学活用,--练习对3个都有效的*.conf的分析和解释_第5张图片

下面的第3张图片: 满足了第2个前提条件==python的位置(这里还进一步延伸 ,用了虚拟环境的情况下 ,地址怎么写===特别注意 ,虚拟环境的地址 如果用 activate_this的形式,注意一定是 用在* .wsgi  或wsgi.py 的文件上,千万不要用错,即用在*.conf的文件上!!!)

至此:这个来自flask 官方文档的例子03,也用它的形式满足 了3个前提条件,所以可以调通 通过!

另外 这里的拓展 和延伸应用是--如果 希望避免 如下的几类problems  ,,可以考虑在×.conf文件 中增加

WSGIRestrictStdou Off   (O uppercase)

WSGIScriptReloading On (实战中的价值就是--你要是一边开发一边上传,就On==conf/wagi不改,但py 或my app反复更新;但是如果你是全开发好了,一次性只上传一次conf/wsgi/py or myapp ,就Off)

20171221 活学活用,--练习对3个都有效的*.conf的分析和解释_第6张图片

你可能感兴趣的:(20171221 活学活用,--练习对3个都有效的*.conf的分析和解释)