我目前在VPS上使用Lighttpd.之前它是nginx,但我回到了Lighttpd因为我需要CGI.
Apache的HTTPD是主流.所有文档都包含Apache的示例,大多数模块仅适用于Apache.
使用与Apache不同的东西真的值得吗?
我遇到了memcached的问题.不确定它是memcached,php还是tcp套接字,但每当我尝试使用memcached的页面具有50或更多并发性的基准测试时,其中一些请求使用apache ab失败.我得到(99)无法分配请求的地址错误.
当我对常规phpinfo()页面进行5000并发测试时.一切都好.没有失败的请求.
似乎memcached不能支持高并发性或者我错过了什么?我正在使用-c 5000标志运行memcached.
服务器:(2)四核Xeon 2.5Ghz,64GB内存,4TB Raid 10,64位OpenSUSE 11.1
我对正则表达式不太熟悉,但我被要求修改lighttpd重写规则.
url.rewrite = (
"^/(.+)/?$" => "/index.php/$1"
)
Run Code Online (Sandbox Code Playgroud)
我想从上面的贪婪模式中排除一个路径,这样它就不会回退到index.php.
用语言来说,很简单:匹配"统计"以外的任何内容.但是我在正则表达式中无法做到这一点.
例如:
http://www.foo.com/anything/ → index.php/anythinghttp://www.foo.com/statistics/ → statistics/index.php你能告诉我一个提示吗?
谢谢!
我的网站上有一个地址,如下所示:
在这个例子中,查询字符串的'gigaom.com'部分中的点与lighttpd和我的重写规则紧密相关.我得到一个带有点的404,如果我把点拿出来没有404.我的重写规则如下.万一它有所作为,我正在使用symfony 1.4.
如果有人能对这个问题有所了解,我将不胜感激!
url.rewrite-once = (
"^/(.*\..+)$" => "$0",
"^/(.*)\.(.*)" => "/index.php",
"^/([^.]+)$" => "/index.php/$1",
"^/$" => "/index.php"
)
Run Code Online (Sandbox Code Playgroud)
对于任何遇到lighttpd和symfony问题的人(我知道你在那里,因为这个问题有很多未解决的问题)我最终解决并在下面回答它.
我希望在没有.php扩展名的情况下访问我的/ framework /文件夹中的所有.php文件.在网上搜索了一段时间后,我发现了这个:
url.rewrite = (
"^/framework/([^?]*)(\?.*)?$" => "$1.php$2",
)
Run Code Online (Sandbox Code Playgroud)
但是当然会有后果,所以现在如果我访问/ framework /(localhost/framework /)它就不会加载index.php文件(localhost/framework/index.php).相反,它给出了404.
如何让它超出任何文件夹和@/framework /来加载目录index.php文件?
所以喜欢
本地主机/框架/控制器/
将会
本地主机/框架/控制器/ index.php的
等等
我对此很陌生,所以如果你能向我解释你做了什么,那就太好了.正如你所看到的,我不是最好的正则表达式.
我正在将我的django项目部署到一个轻便的服务器上.当我试图访问网站root时,一切都很好,但如果我添加/ admin /或/ blog /我得到:
Page not found (404)
Request Method: GET
Request URL: http://x.x.x.x/mysite.fcgi/mysite.fcgi/admin/
Run Code Online (Sandbox Code Playgroud)
和,
Page not found (404)
Request Method: GET
Request URL: http://x.x.x.x/mysite.fcgi/mysite.fcgi/blog/
Run Code Online (Sandbox Code Playgroud)
我已经阅读了一些关于此的帖子,似乎可以通过向settings.py添加FORCE_SCRIPT_NAME =""来解决.但是,这对我没有用.
urls.py:
urlpatterns = patterns('',
(r'^$', index),
(r'^blog/$', blog_view),
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
)
Run Code Online (Sandbox Code Playgroud)
lighttpd.conf:
$HTTP["host"] == "x.x.x.x" {
server.document-root = "/home/lighttpd/sedin/web"
fastcgi.server = (
"/mysite.fcgi" => (
"main" => (
# Use host / port instead of socket for TCP fastcgi
#"host" => "127.0.0.1",
#"port" => 3033,
"socket" => "/home/lighttpd/sedin/sedin.sock",
"check-local" => …Run Code Online (Sandbox Code Playgroud) 我是一名PHP开发人员,我想将python用于项目.在apache或lighttpd等服务器上运行python脚本最常用,最简单的方法是什么?我无法理解不是PHP或ASP的服务器语言如何在服务器上运行.
以下网址工作正常:
http://www.domain.com/address
Run Code Online (Sandbox Code Playgroud)
但是当我传递任何查询字符串时,例如:
http://www.domain.com/address?back=order-opc.php?step=1
Run Code Online (Sandbox Code Playgroud)
显示404页面
我的重写:
"^/address" => "/address.php",
Run Code Online (Sandbox Code Playgroud)
我尝试了很多不同的重写似乎都不起作用...我应该如何重写?
我正在尝试打开一个文件进行解析(二进制文件),但无论fopen()总是返回NULL.
我已经排除了几乎所有的东西,我只需要一个测试脚本:
<?php
$idx = fopen('/usr/home/username/web/appname/dev/www/debug/18194001.idx','r');
trigger_error(var_export($idx,true));
exit();
Run Code Online (Sandbox Code Playgroud)
来自trigger_error(var_export())的输出; 是:
[31-Mar-2013 16:30:34 UTC] PHP Notice: NULL in /usr/home/username/web/appname/dev/www/debug/ajax.idx.php on line 3
Run Code Online (Sandbox Code Playgroud)
无论我为第二个fopen()选项指定了什么标志,我都得到相同的结果.
现在,显而易见的问题是文件是否存在,我是否有权阅读它?两者的答案都是肯定的.我已经使用了相对路径和绝对路径,都读取了正确的文件.file_get_contents()也读取文件没有问题.
is_readable()和file_exists()都返回true
该文件的ls -lah输出为:
-rwxrwxrwx 1 username username 2.0K Mar 30 15:02 18194001.idx
Run Code Online (Sandbox Code Playgroud)
其中'username'与web服务器进程和PHP(lighttpd和php-fpm)运行的用户名匹配.父目录还具有user/group/all的读/读/读权限.
我已经尝试了其他文件,我注意到我在fopen抛出的任何东西都返回了一个NULL值.
救命?
PHP信息:
PHP 5.4.6 (cli) (built: Oct 10 2012 10:43:19)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
with XCache v2.0.1, Copyright (c) 2005-2012, by mOo
Run Code Online (Sandbox Code Playgroud)
Lighttpd信息:
lighttpd/1.4.31 (ssl) - a light and fast webserver
Build-Date: Sep …Run Code Online (Sandbox Code Playgroud) 当我尝试通过命令克隆存储库时
git clone https://git.lighttpd.net/mirrors/libev.git
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
fatal: unable to access 'https://git.lighttpd.net/mirrors/libev.git/': server certificate verification failed. CAfile: none CRLfile: none
如果设置 GIT_CURL_VERBOSE=1
Cloning into 'libev'...
* Couldn't find host git.lighttpd.net in the .netrc file; using defaults
* Trying 5.9.70.195:443...
* TCP_NODELAY set
* Connected to git.lighttpd.net (5.9.70.195) port 443 (#0)
* found 387 certificates in /etc/ssl/certs
* ALPN, offering h2
* ALPN, offering http/1.1
* SSL connection using TLS1.3 / ECDHE_RSA_AES_256_GCM_SHA384
* server certificate verification failed. CAfile: none CRLfile: none
* Closing …Run Code Online (Sandbox Code Playgroud) lighttpd ×10
apache ×2
php ×2
concurrency ×1
django ×1
fastcgi ×1
fopen ×1
freebsd ×1
friendly-url ×1
git ×1
memcached ×1
mod-rewrite ×1
nginx ×1
python ×1
query-string ×1
regex ×1
ssl ×1
symfony1 ×1
webserver ×1