我正在尝试通过 lighttpd 执行一些 python 脚本,但是当我尝试运行它时,我只得到一个我被要求下载的空白文件。
配置文件
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_compress",
"mod_rewrite"
)
server.port = 8080
server.bind = "127.0.0.1"
server.document-root = "/var/www"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm",
" index.lighttpd.html" )
url.access-deny = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".py" )
dir-listing.encoding = "utf-8"
server.dir-listing = "enable"
compress.cache-dir = "/var/cache/lighttpd/compress/"
compress.filetype = ( "application/x-javascript", "text/css", "text/html", …Run Code Online (Sandbox Code Playgroud) 我正在使用Lighttpd 1.4.30在Play Framework中配置负载均衡器.
我在lighttpd-inc.conf中给出了如下条目.
$HTTP["host"] =~ "http://10.74.9.109:9020" {
proxy.balance = "round-robin" proxy.server = ( "/" =>
( ( "host" => "10.74.9.109", "port" => 9020 ) ) )
}
$HTTP["host"] =~ "http://10.74.9.109:80" {
proxy.balance = "round-robin" proxy.server = ( "/" => (
( "host" => "10.74.9.109", "port" => 9020 ),
( "host" => "10.74.9.109", "port" => 9030 ) )
)
}
Run Code Online (Sandbox Code Playgroud)
我的播放应用程序在端口9020,9030上正常运行.
但是,当我尝试http://localhost:80我的负载均衡器时,应将请求转移到任何未发生的端口.我只获得了Lighttpd测试页面.
有没有其他人遇到过以下情况?我正在尝试使用运行 FastCGI/flup 服务器和 Flask 框架的 lighttpd 来提供基于 JSON 的 RESTful API。
我正在使用 Flask 的 RESTful 扩展包,它将 Python 数据编组到一个 JSON 对象中,以作为字符串返回。这工作正常......“Content-Type:application/json”放在响应头中,JSON字符串在响应中。
我想做的是压缩返回的 JSON,如果客户端表明它会接受它。我在 lighttpd.conf 中启用了 mod_compress,以下指令指示要压缩的 MIME 类型:
compress.filetype = ( "application/json", "text/json", "text/javascript",
"application/x-javascript", "text/css", "text/html", "text/plain" )
Run Code Online (Sandbox Code Playgroud)
客户端(基于浏览器)总是发送“Accept-Type: gzip, ...”标头。当 lighttpd 返回 "text/*" MIME 类型时,它正在设置 "Content-Encoding: gzip" 标头并压缩数据,并且客户端会很好地处理它。
但是,这不适用于“application/json”MIME 类型,我正在挠头。即使 API 通过 Flask 路径,lighttpd 不是也负责设置“Content-Encoding: gzip”标头并压缩“application/json”MIME 类型的数据吗?
我正在尝试使用 lighttpd fastCGI 将 hello flask 应用程序部署到树莓派。
我尽我所能按照http://flask.pocoo.org/docs/0.10/deploying/fastcgi/上的说明进行操作
这是我的烧瓶应用程序(/var/www/demoapp/hello.py)
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World From Flask Yeh!"
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000)
Run Code Online (Sandbox Code Playgroud)
这是我的 .fcgi 文件 (/var/www/demoapp/hello.fcgi)
#!/usr/bin/python
from flup.server.fcgi import WSGIServer
from yourapplication import app
if __name__ == '__main__':
WSGIServer(app).run()
Run Code Online (Sandbox Code Playgroud)
这是我添加到 /etc/lighttpd/lighttpd.conf 的内容
fastcgi.server = ("/hello.fcgi" =>
((
"socket" => "/tmp/hello-fcgi.sock",
"bin-path" => "/var/www/demoapp/hello.fcgi",
"check-local" => "disable",
"max-procs" => 1
))
)
alias.url = (
"/static/" => "/var/www/demoapp/static/",
) …Run Code Online (Sandbox Code Playgroud) 我的服务器上运行着多个 Tomcat。我使用 lighttpd 来反向代理不同域的传入请求。到目前为止,我只使用了 http 而没有使用 https,这个配置对我有用:
$HTTP["host"] == "my.domain.com" {
proxy.server = ( "" => ( (
"host" => "127.0.0.1",
"port" => 8080
) ) )
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试相同并且仅将端口更改为 https 端口时,我只看到一个空白页面。我需要做什么才能将流量重定向到使用 https 的 Tomcat。
我的/ home/joomla目录中有一个joomla设置.我安装了Apache和Lighttpd我配置Lighttpd只代理静态文件,而lighttpd正在侦听端口81.现在我想要的是
无论何时发出静态文件请求,而不是去
www.domain.com/whatever/bg.jpg
它应该重定向到
domain.com:81/whatever/bg.jpg
使用.htaccess
另请注意,www.domain.com已更改为domain.com
请,我需要一个快速的帮助:)
我想将domainxyz.com上的所有子域路径重定向到www.domainxyz.com,cdn.domainxyz.com和ad.domainxyz.com除外.
澄清:我想要例如abc.domainxyz.com/cat.php?id=23重定向到www.domainxyz.com/cat.php?id=23.
我如何在lighttpd中执行此操作?
我使用lighttpd作为我的网络服务器.
目前我正在使用IP地址访问它:
http://192.168.0.1
Run Code Online (Sandbox Code Playgroud)
我想以其身份访问它
http://myhostname.com
Run Code Online (Sandbox Code Playgroud)
我只会在本地网络中使用它,而不是互联网.
我不知道该怎么做.我用Google搜索,但不知道要使用的确切关键字.
例如,这段代码:
from flask import session
@app.route('/is_logged_in/')
def is_logged_in():
return 'user' in session
Run Code Online (Sandbox Code Playgroud)
它运行瓶的开发服务器时运行对我很好,但它抛出一个500错误与任何网络服务器设置(FastCGI的,uWSGI等)的任何服务器(Apache时,Nginx的,lighttpd的)上.
谁知道为什么?
我的实际代码是在GitHub上,如果重要的话.
在使用Flask的内部服务器运行时,它可以完美运行,但是我无法使用任何会话变量来使用生产网络服务器:https://github.com/Blender3D/Webminal/blob/master/server.py
所以我一直在寻找这个答案,我发现的大多数答案要么模糊,要么高于我的编程知识.
我想要做的是在网页quad_relay.html上创建一个按钮
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o$
<html xmlns="http://www.w3.org/1999/xhtml">
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Quad Web Relay</h1>
<div>Relay 1:
<input type="button" value="Toggle" id="toggle1" />
</div>
</body>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)
单击该按钮时,我希望它运行python脚本set_gpio.py
def set_pins_high():
fp = open("/sys/class/gpio/gpio"+pin+"/value","w")
fp.write(str(1))
fp.close()
def set_pins_low():
fp1 = open("/sys/class/gpio/gpio"+pin+"/value","w")
fp1.write(str(0))
fp1.close()
for pin in pins:
for x in range (0,2):
set_pins_high()
time.sleep(0.5)
set_pins_low()
time.sleep(0.5)
Run Code Online (Sandbox Code Playgroud)
该网页位于运行Django的lighttpd服务器上.我安装了jQuery和AJAX,我知道它们是我需要采取的路线,但是每次尝试它都不起作用.有人能帮助我吗?
谢谢!