我正在运行一个小的VPS(512MB-Ubuntu 10.04),我试图让Nginx坐在前面,并提供所有的图像/静态的东西,只有在需要时发送PHP请求到Apache2。 我想知道是否需要为Nginx中的每个站点设置一个虚拟主机,然后在Apache中也是一样,还是有更好的方法呢? 我一直在与它斗争,似乎过于复杂。 干杯,斯科特
我试图使用这里find的说明部署我的Pylons应用程序。 当我访问我的域的根时,这只是加载默认的Pylons页面。 当我尝试进入任何path时,我收到消息 Unhandled Exception An unhandled exception was thrown by the application. 当我查看我的应用程序和Apache错误日志的错误日志时,看起来Pylons总是试图将事情路由到错误控制器。 但是,请注意,上述消息不是我的错误控制器应该输出。 有什么build议要检查什么? 我喜欢用塔架开发,但这是我第一次尝试部署。 我已经尝试了多个不同的Web服务器上的多个configuration,我没有任何运气。 更新:下面是我的Pylons应用程序的configuration(剥离的意见,使其更短) [DEFAULT] smtp_server = localhost error_email_from = paste@localhost [server:main] use = egg:PasteScript#flup_fcgi_thread [app:main] use = egg:linkdb full_stack = true static_files = true cache_dir = %(here)s/data beaker.session.key = linkdb beaker.session.secret = b75f1813263ab9a082f67278daa26433 sqlalchemy.url = mysql://cclp:[email protected]/ccorl authkit.setup.enable = True […]
我试图在运行Ubuntu 8.04的服务器上安装openssl 0.9.8g和apache 2.2.8。 我知道我需要mod_gnutils或openssl 0.9.8j(我认为)来支持SNI。 有没有可能在Ubuntu 8.04下做到这一点,而无需重新编译Apache? 如果没有,我想我会感觉更好,只需将我的服务器升级到10.04。
我想升级Apache,我是后面几个版本(Apache / 2.2.12),我想添加mod_ssl。 我是否需要重新编译PHP? 我也使用APC PHP扩展 – 如果我需要重新编译PHP,我是否需要重新编译APC? 谢谢
htaccess的: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php RewriteRule ^site-css/([0-9]+)/(.*)$ ../application/site/$1/design/css/$2 [L] 它返回一个400错误的请求,或者在apache级别: [Thu Jul 22 14:48:32 2010] [error] [client 127.0.0.1] Invalid URI in request GET /site-css/1/layout.css? HTTP/1.1 如果我更改规则,甚至稍微改变一个404错误。 有没有更多的方法来debugging这个问题?
我有一个现有的简单的重写规则,如下所示: <Directory /path> RewriteEngine on RewriteBase / # if the requested resource does not exist RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # route the uri to a front controller RewriteRule ^(.*)$ index.php/$1 [L] </Directory> 这工作正常,但我想做两件事情之一。 在检测客户端接受语言头的基础上,我也想 (i)将检测到的语言设置为脚本可以使用的环境variables (ii)重写请求,使url以语言代码开始(例如www.example.com/en/some/resource) 在实施(i)方面,我定义了这个规则: <Directory /path> RewriteEngine on RewriteBase / # if the requested resource does not exist RewriteCond %{REQUEST_FILENAME} […]
我有两个版本的在我的Web服务器上运行的非常小的ruby-on-rails应用程序。 一个是外部服务(生产),一个只服务于内部网URL(分段)。 所以我有两个虚拟主机设置,他们工作得很好。 我的目标是为临时服务器的域下的代码库提供生成的文档,但只需设置不同的虚拟主机和文档根,并将所有静态HTML文件转储到那里。 我不清楚如何在httpd.conf中设置。 所以,目标是有: staging.foo.com/ – > rails应用程序虚拟主机(指向/ var / www / rails / foo /) 和 staging.foo.com/doc/ – >文档vhost(指向/ var / www / doc / foo /) 对这个问题的笨拙抱歉, 我很确定这可以用mod_rewrite来完成,但是在阅读完文档之后,我仍然失去了如何完成这个壮举。
我正在运行一个本地testing服务器(在Ubuntu 10.04上),但由于某种原因,我似乎没有看到我的自定义403错误消息。 这里有一些命令输出: [ /var/www ] # ls -al : drwxr-xr-x 5 www-data www-data 4096 2010-07-31 18:40 . drwxr-xr-x 16 root root 4096 2010-05-14 19:56 .. -rwxr-xr-x 1 www-data www-data 493 2010-07-31 18:32 403.html -rwxr-xr-x 1 www-data www-data 493 2010-07-31 18:10 404.html -rwxr-xr-x 1 www-data www-data 56 2010-07-31 18:25 .htaccess [ /var/www ] # cat […]
我用以下命令使用ab和siege对Apache / 2.2.3(prefork)进行基准testing: ab -kc 200 -t 120 http://www.mywebsite.com/test.php siege -c200 -t2M http://www.mywebsite.com/test.php test.php是一个非常简单的文件,只是创build一个MySQL连接,然后closures <?php $link = mysql_connect("localhost", "username", "password"); mysql_select_db("dbname"); if(!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?> 我得到的结果中有很多失败的请求 。 我想弄清楚如何减less这些失败的请求数量,因为这是一个相当简单的脚本,服务器负载是相当低的,我不应该有一个四核至强3Ghz机8G内存。 来自围城的输出 Transactions: 9438 hits Availability: 98.33 % Elapsed time: 119.39 secs Data transferred: 0.38 MB Response time: […]
注意:这个问题已经解决 ! 如果您遇到类似问题,请参阅下面的解决scheme。 背景: 这是一个基于PHP / MySQL的数据库驱动的应用程序,大量使用AJAX,几乎所有的服务器请求都以这种方式发生。 在这种情况下请求是GET请求,服务器通过JSON响应。 用户通过返回更精细结果的数据集向内工作。 该应用程序是稳定的,并在生产。 我有能力在3个平台上进行debugging:我的开发笔记本电脑(OSX),内部Ubuntu服务器和生产Ubuntu服务器。 每个Ubuntu服务器都运行一个MySQL服务器和一个Apache的副本。 我的开发笔记本电脑连接到运行在我们内部 Ubuntu服务器上的MySQL服务器,并运行它自己的 Apache服务器。 这两个Ubuntu服务器是9.10,X64,通过官方来源,Apache 2.2.12,PHP 5.2.10完全最新。 现在有趣的部分: 除了数据集的一个小节外,应用程序都会正确返回结果。 本小节中的数据请求总是返回500而不是结果集。 所讨论的小节仅仅是一个基于已知ID返回结果的查询。 logging已知存在,并且不包含损坏的数据。 我已经为Apache打开了debugging日志logging,并且为PHP设置了E_ALL(logging到文件)。 当500发生时,我在Apache的error.log(x的屏蔽)中看到以下内容: [Sun Aug 01 15:43:54 2010] [debug] mod_deflate.c(615): [client 192.168.1.28] Zlib: Compressed 0 to 2 : URL /apps/xxxx/connectors/details_lookup.php, referer: http://xxxx.xxxx.local/apps/xxxx/ 这意味着缺乏数据。 但是,没有任何错误logging到PHP的错误日志。 同时,我可以在数据集的其他地方返回结果,而不会出现问题。 所以你可能会想:“问题必须在数据库中”。 但是 ,当我使用我的开发笔记本电脑(和它自己的Apache副本)连接到我们的内部networking上的同一个MySQL服务器时, 我可以运行生成500的请求,而没有任何错误 。 所以当我在我的笔记本电脑上运行我的Apache服务器上的应用程序,一切都很酷。 当我对同一个数据库服务器上的相同数据库中的相同数据执行相同的请求,而是使用该服务器的Apache本地副本时,失败。 我完全困惑。 […]