我编写了一个简单的perl脚本,我在Apache上通过fastCGI运行.应用程序加载一组XML数据文件,这些文件用于根据传入请求的查询参数查找值.据我了解,如果我想增加应用程序可以处理的并发请求量,我需要允许fastCGI生成多个进程.这些进程中的每一个都必须在内存中保存XML数据的重复副本吗?有没有办法设置,以便我可以在内存中加载一份XML数据,同时增加处理并发请求的能力?
我只是为django设置了lightc的fastcgi,但是当它处理url时我得到了fcgi文件路径,例如http://myserver.myhost.com/myproject.fcgi上的 404错误.它需要路由到/而不是/myproject.fcgi.
Lighty conf:
$HTTP["host"] =~ "myproject\.myhost\.com" {
fastcgi.server = (
".fcgi" => (
"localhost" => (
"bin-path" => "/var/www/myproject/myproject.fcgi",
"socket" => "/tmp/myproject.sock",
"check-local" => "disable",
"min-procs" => 2,
"max-procs" => 4,
)
),
)
alias.url = (
"/media" => "/usr/local/lib/python1.6/dist-packages/Django-1.2.1-py2.6.egg/django/contrib/admin/media/",
)
url.rewrite-once = (
"^(/media.*)$" => "$1",
"^/favicon\.ico$" => "/media/favicon.ico",
"^(/.*)$" => "/myproject.fcgi$1",
)
}
Run Code Online (Sandbox Code Playgroud)
myproject.fcgi:
#!/usr/bin/python2.6
import sys, os
# Add a custom Python path.
sys.path.insert(0, "..")
# Switch to the directory of your project. (Optional.)
os.chdir("/var/www/myproject") …Run Code Online (Sandbox Code Playgroud) 嘿伙计们,我正在寻找一个PHP框架,如果我很幸运,只需在FastCGI下运行nginx,否则,不需要太多调整.
首先让我开始说是的,我已经在google和stackoverflow专门搜索了这个,我找到了很多答案,并尝试了所有.在这一点上,我相信我唯一的资源是自己发布问题,即使情景重复,请尽量善于帮助.
情况非常基本,在Ubuntu桌面10.04上,我根据本指南及其衍生产品通过Synaptic和Php5设置了apache .此时,如果我继续使用命令行并调用php脚本,它可以工作,例如:
php test.php
Run Code Online (Sandbox Code Playgroud)
输出我的问候世界没有任何问题.但是,如果我去firefox并指向test.php它将显示403错误禁止...
我已将/ var /,/ var/www /和/var/www/test.php的所有权更改为我能想到的每个变量(www-data [apache以此用户身份运行],purefan [我的普通用户],root )它没有任何区别,我也多次更改权限777,0777(只是为了安全),644,755,没有变化.从CLI我把phpinfo放到一个文件中并在这里添加它.
如果我没有弄错,那么当Apache调用php解释器时就会发生问题,就像我去http://localhost/index.php那样,它显示了apache的默认"It Works!" 页面,但如果我将php内容添加到该文件,它只是被忽略,但没有显示错误(也检查错误日志和syslog).
所以,如果你有任何建议让我知道,这不是一个生命或死亡的事情,但真的想建立使用工人而不是prefork.
感谢您的时间
我在lighttpd + FCGI上运行django安装.一切正常,除了管理员.
似乎在我发布某些内容后重定向(即我修改了sor创建模型的实例)出错了.
管理员会将我重定向到www.xyz.com/django.fcgi/admin/...而django.fcgi只能由lighttp重写规则使用来调用FCGI.
这是conf文件中的重定向
url.rewrite-once = (
"^(/media.*)$" => "$1",
"^/favicon\.ico$" => "/media/favicon.ico",
"^(/.*)$" => "/django.fcgi$1",
)
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
我想使用这个fastcgi_finish_request()功能.我在我的服务器上安装了cpanel,PHP和Apache都是通过它配置的.由于我无法手动编辑apache或PHP(因为cpanel),我在WHM中使用easyApache来构建它以获得fastcgi.我看到了一个选项caleld Mod FCGID所以我检查了它.在选中了该选项重建PHP和apache之后,我仍然在调用完成请求函数时调用未定义的函数.
我计划在Rebol中编写一个相当不错的Web应用程序(目前在Apache 2上使用CGI),但最初的性能测试非常令人沮丧.当我在应用程序上运行apache基准测试时,我得到了4-5个请求/秒.我想知道其他人是否有过类似的问题,以及FastCGI是否真的对他们有所帮助.
而afaik,Rebol只支持Command和SDK版本中的FastCGI,自从R3开源以来,它是否会很快改变?
我在基本auth procted文件夹中的子文件夹有问题.在受保护的文件夹中,我有一个名为phpmyadmin的文件夹,其中包含phpmyadmin.当基本激活时,我无法运行phpmyadmin.当我调用该文件夹时,我得到一个另存为对话框(类型:application/octet-stream(18,3 KB)).
这里是mysites的重要部分 - 可用/默认
location ^~ /administration/ {
auth_basic "Restricted Area";
auth_basic_user_file /var/www/myproject/sec/htpasswd;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
Run Code Online (Sandbox Code Playgroud)
任何想法,我如何在基本认证保护子文件夹中运行php?
我有IIS 7.0和两个版本的PHP v5以及v7我的Microsoft Windows Server 2008 Standard 6.0 SP2.问题是,PHP7或IIS尝试将PHP5的php.ini用于IIS"网站".
所以在命令行上一切都很好:
X:\>php -v
PHP 7.0.2 (cli) (built: Jan 6 2016 12:59:59) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
X:\>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: D:\Data\Programme\php7\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Run Code Online (Sandbox Code Playgroud)
但是在IIS管理器和phpinfo()输出中没有:


我认为,这是一个PHP(cgi-fcgiSAPI)问题,而不是 IIS问题(但不确定).
如何php.ini在Windows Server 2008上设置正确的PHP CGI/FastCGI SAPI?
还试过它在注册表中,但这没有帮助:

当我尝试将Flask应用程序部署到我的LAMP服务器时,我从flipflop收到错误,这是一个FastCGI/WSGI网关,它使我的应用程序能够说出FastCGI协议.
〜/最小/ run.py
from flask import Flask
from flipflop import WSGIServer
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'hello, world'
if __name__ == '__main__':
WSGIServer(app).run()
Run Code Online (Sandbox Code Playgroud)
Apache配置文件的相关部分,即/etc/httpd/conf/httpd.conf:
<VirtualHost *:80>
ScriptAlias / /home/apps/minimal/run.py
ErrorLog /var/log/httpd/error_log
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
Apache/2.2.15的错误报告:
[apps@kernod0 ~]$ sudo head -n 20 /var/log/httpd/error_log
[sudo] password for apps:
[Wed Aug 16 16:39:16 2017] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Wed Aug 16 16:39:16 2017] [notice] Digest: generating secret for digest authentication ...
[Wed Aug 16 16:39:16 2017] [notice] …Run Code Online (Sandbox Code Playgroud)