apache wsgi python基本examp

2024-10-01 13:39:56 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我被建议使用wsgi而不是cgi,因此我尝试为一个不使用Django的基本示例设置以下设置:

规格:

  • linux Kubuntu、apache 2.4、python 3.5
  • apache正在运行,已安装并启用mod\wsgi
  • 网站文件位于root/var/www/html/,我有sudo访问此文件夹的权限
  • python3.5的路径是usr/bin/env python3
  • python脚本:“索引.py,最简单的脚本,已被设置为可执行文件
  • python可执行文件位于root/var/www/scripts中

问题:

  • 如何使这个函数输出它的结果

  • 这个wsgi脚本有什么用?我不需要,我也不想要任何wsgi扩展

  • 我需要引入什么apache指令来运行脚本
  • 那么,“应用程序”功能在哪里?在

对于这个wsgi的想法,有些澄清可能会有所帮助


Tags: django脚本mod可执行文件示例wsgivarlinux
1条回答
网友
1楼 · 发布于 2024-10-01 13:39:56

所以,让我们从我知道的和想要的开始,使用极简主义的方法:

最有用的信息来自shellhacks.com和{a2}

  • $sudo apt get安装python3 distutils
  • here下载最新的mod wsgi模块包并解压缩
  • $./configure with python=/usr/local/bin/python3.5
  • $制造
  • $sudo make安装
  • $cd等/apache2/mods可用/
  • $sudo凯特wsgi.load文件在

LoadModule wsgi_module modules/mod_wsgi.so

  • $sudo a2enmod wsgi公司
  • $sudo service apache2重新启动

  • 以下位置’火花.py'在apache的document根文件夹中编写脚本(对于我来说是root/var/www/html),使用您最喜欢的文本编辑器(在本例中是Kate for me)

     $ kate /var/www/html/spark.py
    
    def application(environ, start_response):
        status = '200 OK'
        output = b'Hello World!\n'
        response_headers = [('Content-type', 'text/plain'),
                    ('Content-Length', str(len(output)))]
        start_response(status, response_headers)
        return [output]
    
  • 将WSGI script alias指令添加到etc/apache2/sites available/000-默认.conf在

    ^{pr2}$
    <VirtualHost *:80>
        #lots and lots of comments
        some actual directives
        like DocumentRoot /var/www/html
    
        # more comments
        more directives
    
        # and all the way at the end
        # THE ACTUAL DIRECTIVE
        WSGIScriptAlias / /var/www/html/spark.py
    
    </VirtualHost>
    
  • $sudo service restart apache

  • 浏览到localhost(如果您是在本地apache服务器上设置的),您应该会看到所有编程历史中最著名的单词,man看到这些单词感觉很好吗:)

要做的事情:创建应用程序,指向脚本。。。在

相关问题 更多 >