python flask app mod_wsgi / apache

时间:2017-07-16 16:45:56

标签: python flask apache2 mod-wsgi wsgi

我正在努力在我的linode服务器上获取我的python flask应用程序。我已经按照一些教程来配置这个,但是因为当我访问url时遇到了这个错误。 “ImportError:没有名为ugpromo的模块”。我在stackoverflow上看到过这样的其他问题,并尝试过他们的解决方案,但我仍然得到同样的错误。

wsgi文件

import sys                                                                                                              
import logging                                                                                                          
logging.basicConfig(stream=sys.stderr)                                                                                  
sys.path.insert(0,"/var/www/html/codingbybrandon/public_html/ugpromo/")                                                                                                                                                                         
from ugpromo import app as application                                                                                  
application.secret_key = 'Add your secret key'

初始化的.py

from flask import Flask                                                                                                 
app = Flask(__name__)                                                                                                   
@app.route("/")                                                                                                         
def hello():                                                                                                                
  return "Hello, I love Digital Ocean!"                                                                               
if __name__ == "__main__":                                                                                                      
  app.run() 

虚拟主机文件

<VirtualHost *:80>                                                                                                              
ServerName ugpromo.codingbybrandon.com                                                                                  
ServerAdmin admin@codingbybrandon.com                                                                                   
ServerAlias www.ugpromo.codingbybrandon.com                                                                             
WSGIScriptAlias / 
/var/www/html/codingbybrandon.com/public_html/ugpromo/ugpromo.wsgi                                                                                                                                                                                                                                                                                                                                  
   <Directory /var/www/html/codingbybrandon/public_html/ugpromo/ugpromo/>                                                         
 Order allow,deny                                                                                                         
 Allow from all                                                                                                  
   </Directory>                                                                                                                                                          
   Alias /static 
  /var/www/codingbybrandon.com/public_html/ugpromo/ugpromo/static                                            
   <Directory 
    /var/www/codingbybrandon.com/public_html/ugpromo/ugpromo/static/>                                                    
     Order allow,deny                                                                                                        
     Allow from all                                                                                                  
 </Directory>                                                                                                            
   ErrorLog ${APACHE_LOG_DIR}/error.log                                                                                    
   LogLevel warn                                                                                                           
   CustomLog ${APACHE_LOG_DIR}/access.log combined                                                                 
 </VirtualHost>

目录列表如下

public_html
  ugpromo
    __init__.py
    ugpromo
      static
      templates
      ugp
   ugpromo.wsgi

1 个答案:

答案 0 :(得分:0)

你已经添加了外部&#34; ugpromo&#34;目录 - 包含要导入的__init__文件的目录 - 到sys.path。您需要添加该目录的

sys.path.insert(0,"/var/www/html/codingbybrandon/public_html/")

(但是,请注意,你真的不应该把代码放在public_html下面。把它放在其他地方。)