我想在 运行 WordPress mysite.com/,因为编辑销售文案等更容易。我想在其中运行我的 Django 网站mysite.com/members/
httpd.conf:
<VirtualHost *:80>
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /var/www/mysite.com
WSGIDaemonProcess mysite python-path=/var/www/mysite.com/mysite:/var/www/mysite.com/
WSGIProcessGroup mysite
WSGIScriptAlias / /var/www/mysite.com/mysite/mysite/wsgi.py
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我到底需要做什么才能让 Django/members/在我的域/网站的目录中运行?
我正在关注本教程:https : //pythonprogramming.net/creating-first-flask-web-app/?completed=/flask-web-development-introduction/
在我的本地服务器上(本地网络上的家用机器)。Flask 本身正常启动
>>> python /var/www/FlaskApp/FlaskApp/__init__.py
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [31/Oct/2016 22:56:29] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [31/Oct/2016 22:56:29] "GET /favicon.ico HTTP/1.1" 404 -
Run Code Online (Sandbox Code Playgroud)
Flask 启动 但是无论如何 Apache 都会显示其默认网页。
须藤 a2enmod wsgi
Module wsgi already enabled
Run Code Online (Sandbox Code Playgroud)
cat /var/www/FlaskApp/FlaskApp/ init .py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def homepage():
return "Hi There, how you're doin?"
if __name__ == "__main__":
app.run()(debug=True)
Run Code Online (Sandbox Code Playgroud)
cat /etc/apache2/sites-available/FlaskApp.conf
<VirtualHost *>
ServerName dagzserv …Run Code Online (Sandbox Code Playgroud) 我试图限制那些在浏览器中直接点击绝对静态图像 url 路径(www.xyz.com/static/img/sam.png)并访问它的用户。
我尝试使用以下 Django 文档:
https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/apache-auth/
但这也会阻止登录页面中的那些图像(在验证有效用户之前)。
有没有其他有效的方法来限制未登录的用户?
编辑: 我曾提到过这个Django: Serving Media behind Custom URL,但它与 nginx 而不是 apache 相关。并且黑白静态和媒体内容也有区别。我的问题仅与静态内容有关
我最近试图了解什么是 WSGI 应用程序:
WSGI 应用程序只是一个可调用对象,它传递一个环境 - 一个包含请求数据的字典,以及一个被调用以开始发送响应的 start_response 函数。
为了将数据发送到服务器,您所要做的就是调用 start_response 并返回一个可迭代对象。
所以,这是一个简单的应用程序:
Run Code Online (Sandbox Code Playgroud)def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) return ['Hello World!']
Django 的 wsgi.py 是
"""
WSGI config for basic_django project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
"""
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'basic_django.settings')
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)
但是当我看到 wsgi.py 时,application = get_wsgi_application()可调用对象没有通过environ或start_response函数传递
那么如何理解这一点
我正在尝试使用 nginx 部署这个网站。该站点配置正确,并且在我运行时已验证这一点python manage.py runserver。但是当我使用 Gunicorn 和 wsgi 运行相同的命令时,gunicorn --bind 0.0.0.0:8002 config.wsgi它会显示 error: ModuleNotFoundError: No module named 'crispy_forms'。
Crispy_forms 已安装并已使用 进行验证pip freeze。虚拟环境也已启用。'crispy-forms' 也已经添加到 中的 INSTALLED_APPS 中settings.py。
以下是我的错误代码:
root@devvm:/tmp/tmc_site# gunicorn --bind 0.0.0.0:8002 config.wsgi
[2022-02-03 23:03:07 +0000] [6333] [INFO] Starting gunicorn 20.1.0
[2022-02-03 23:03:07 +0000] [6333] [INFO] Listening at: http://0.0.0.0:8002 (6333)
[2022-02-03 23:03:07 +0000] [6333] [INFO] Using worker: sync
[2022-02-03 23:03:07 +0000] [6335] [INFO] Booting worker with pid: 6335
[2022-02-04 04:03:07 +0500] [6335] …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取运行我的appengine应用程序的服务器的基本URL(主机名).
也就是说
wsgiref.util.application_uri(self.request.environ)
Run Code Online (Sandbox Code Playgroud)
但它返回了我不想要的PATH_INFO.也许我错过了一些东西,但即使这篇文章也说明了路径信息应该省略. http://docs.python.org/library/wsgiref.html
http://9.latest.my-app.appspot.com
基本上是我想要检索的内容.相反,它正在回归
http://9.latest.my-app.appspot.com/my/requested/path
昨晚我决定采取措施降低水平.我已经和Django合作了好几年了,而且我觉得这完全不是博客/新闻/社交网络以外的软件.Pylons似乎可以灵活地做任何你想做的事情,而代价是使用起来要复杂得多(起初).
我可以参加"入门"教程,但我真的想了解更多关于WSGI和Pylons的一般方法.在编写一行代码之前,5,000英尺的视图对我很重要.你有什么建议?
我是Python的新手 - 从未在今天之前使用它.我感兴趣的是为Web开发Python应用程序.我想检查一下我的Web服务器是否支持WSGI或以某种方式运行python应用程序.
假设我有一个打印"Hello world!"的.py文件.如何测试我的服务器是否支持处理此文件?
仅供参考,这是一台Mac OS X服务器10.5.所以我知道安装了Python(它默认安装在Mac OS X上),但我不知道它是否设置为处理服务器端的.py文件并返回结果.
顺便说一句,我来自PHP背景,所以这对我来说有点陌生.我看过python docs re:wgsi,cgi等等,但由于我还没有做任何具体的事情,所以它并没有多大意义.
我目前是IT服务的实习生,被要求使用Python构建可在Linux环境中运行的基于Web的应用程序。该Web应用程序必须符合WSGI,并且我不能使用任何框架。
目前我的问题是我想将一个变量设置为所述目录中的文件列表。因此,我可以通过打印一个表格来列出这些文件,每行都是一个文件。
我知道os.listdir(),但是找不到在远程服务器上使用它的方法(考虑到Google搜索向我显示的内容,应该不是这种情况)。
我尝试了一个os.system(ssh root @ someip:/ path / to / dir /),但是作为python doc状态,我无法获得想要的输出,因为它返回了一些整数...
下面是我的一段脚本。
#ip is = to the ip of the server I want to list.
ip = 192..............
directory = "/var/lib/libvirt/images/"
command = "ssh root@"+ip+" ls "+directory
dirs = os.system(command)
files = ""
table_open = "<table>"
table_close = "</table>"
table_title_open = "<th>Server: "
table_title_close = "</th>"
tr_open = "<tr>"
tr_close = "</tr>"
td_open = "<td>"
td_close = "</td>"
input_open = "<input type='checkbox' name='choice' value='"
input_close = "'>" …Run Code Online (Sandbox Code Playgroud) 我克隆了这个heroku-django-starter https://github.com/heroku/heroku-django-template.
我已经做好了 pip install gunicorn
当我运行时heroku local web,我收到以下错误日志.
forego | starting web.1 on port 5000
web.1 | [2016-03-08 21:03:59 -0800] [8288] [INFO] Starting gunicorn 19.4.5
web.1 | [2016-03-08 21:03:59 -0800] [8288] [ERROR] Connection in use: ('0.0.0.0', 5000)
web.1 | [2016-03-08 21:03:59 -0800] [8288] [ERROR] Retrying in 1 second.
web.1 | [2016-03-08 21:04:00 -0800] [8288] [ERROR] Connection in use: ('0.0.0.0', 5000)
web.1 | [2016-03-08 21:04:00 -0800] [8288] [ERROR] Retrying in 1 second.
web.1 | [2016-03-08 21:04:01 -0800] …