簡體   English   中英

在 mod_wsgi 中使用 Flask 時無法在 Python 中寫入文件

[英]Unable to write to file in Python when using Flask in mod_wsgi

我正在 mod_wsgi 3.4 上使用 Python 2.7.6 運行 Flask 應用程序。 操作系統是 Ubuntu 14.04。 我無法寫入文件。 下面是我正在使用的代碼:

if __name__ == "__main__":
    f = open('/var/www/jcapp/foobar', 'r+')
    f.write('hello world')
    f.close()
    jcapp.run()

Apache站點配置文件:

<VirtualHost *:80>
ServerName mysite.co
 WSGIDaemonProcess jcapp
 WSGIScriptAlias / /var/www/jcapp/jcapp.wsgi
 <Directory /var/www/jcapp/>
        WSGIProcessGroup jcapp
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
 </Directory>
WSGIScriptAlias /notify /var/www/jcapp/jcapp.wsgi
<Directory /var/www/jcapp/>
    WSGIProcessGroup jcapp
    WSGIApplicationGroup %{GLOBAL}
    Order allow,deny
    Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined

有人可以告訴我我可能會出錯的地方嗎?

您只在__name__ == '__main__'寫入文件,當您使用 mod_wsgi 而不是python app.py運行時不會寫入文件。

將代碼__name__保護之外。

或者,如果您需要在運行應用程序之前進行一些設置,請使用單獨的入口點。 將 mod_wsgi 指向此入口點。

wsgi_app.py :

from myapp import jcapp as application

with open('/var/www/jcapp/foobar', 'w') as f:
    f.write('hello world')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM