标签: webserver

当URL与模式匹配时,配置nginx以返回404

我希望nginx在收到与模式匹配的请求时返回404代码,例如/test/*.如何配置nginx来做到这一点?

webserver nginx

60
推荐指数
3
解决办法
7万
查看次数

如何为不同的根目录配置xampp Web服务器

Web目录是所有应用程序的公共和静态文件的主页.包括图像,样式表和JavaScript文件.它也是前端控制器所在的位置.

所以问题是当我安装和设置xampp我的web目录是:

xampp\htdocs
Run Code Online (Sandbox Code Playgroud)

我想为它设置:

xampp\htdocs\myproject\web
Run Code Online (Sandbox Code Playgroud)

怎么做?现在当我在浏览器中输入地址时:http://localhost/
我输入xampp\htdocs目录
,我想在浏览器中键入地址:http://localhost/
并输入xampp\htdocs\myproject\web目录

php apache xampp webserver

60
推荐指数
6
解决办法
17万
查看次数

apache不接受来自localhost外部的传入连接

我在rackspace上启动了一个CentOS服务器并执行了yum install httpd'd.然后services httpd start.所以,只是准系统.

我可以通过ssh(22)远程访问其IP地址没问题,所以DNS或任何东西都没问题(我认为......),但是当我尝试连接端口80(通过浏览器或其他东西)时,我得到了拒绝连接.

但是,从localhost,我可以使用telnet(80),甚至可以使用lynx,并且可以毫无问题地使用它.从外面(我的房子,我的学校,当地的咖啡店等),telnet连接22,但不是80.

我用netstat -tulpn(< - 我不会撒谎,我不明白这-tulpn部分,但这就是互联网告诉我要做的......)并且看到

tcp    0    0 :::80     :::*    LISTEN    -                   
Run Code Online (Sandbox Code Playgroud)

因为我相信我应该.该httpd.confListen 80.

我有services httpd restart很多次.

老实说,我不知道该怎么做.机架空间没有办法在传入的端口80请求上有防火墙.我觉得我失去了一些东西愚蠢的,但我现在已经启动了一个准系统服务器的两倍,并已做了最小,以获得此功能的思考我已经弄脏的东西与我的修修补补,但既不工作.

任何帮助是极大的赞赏!(对于冗长的帖子抱歉...)

编辑 我被要求发布输出iptables -L.所以这里是:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
REJECT …
Run Code Online (Sandbox Code Playgroud)

linux apache webserver centos

57
推荐指数
3
解决办法
15万
查看次数

关于Web开发的一些基本但重要的问题?

到目前为止,我已经使用PHP,Python和Java开发了一些基于Web的应用程序.但是一些基本但非常重要的问题仍然是我所不知道的,所以我发这篇文章是为了得到你们的帮助和澄清.

假设我使用一些编程语言作为我的后端语言(PHP/Python/.Net/Java等),并使用Web服务器(apache/lighttpd/nginx/IIS等)部署我的应用程序.并且假设在时间T,我的一个页面得到来自不同用户的100个同时请求.所以我的问题是:

  1. 我的Web服务器如何处理这100个同时发出的请求?Web服务器是否会为每个请求生成一个进程/线程?(如果是,进程或线程?)
  2. 后端语言的解释器如何做?它将如何处理请求并生成正确的html?解释器是否会为每个请求生成一个进程/线程?(如果是,进程或线程?)
  3. 如果解释器将为每个请求生成一个进程/线程,那么这些进程(线程)如何?他们会分享一些代码空间吗?他们会互相沟通吗?如何处理后端代码中的全局变量?或者它们是独立的进程(线程)?进程/线程的持续时间有多长?它们会在处理请求并返回响应时被销毁吗?
  4. 假设Web服务器只能支持100个并发请求,但现在它同时有1000个请求.它如何处理这种情况?它会像队列一样处理它们并在服务器可用时处理请求吗?还是其他方法?
  5. 这几天我读了一些关于Comet的文章.而且我发现长连接可能是处理实时多用户用例的好方法.那么长连接怎么样?它是某些特定Web服务器的功能还是可用于每个Web服务器?长连接需要一个长期存在的解释程序吗?

编辑:最近我读了一些关于CGI和fastcgi的文章,这让我知道fastcgi的方法应该是hanlde请求的典型方法.

该协议在多个独立的FastCGI请求之间复用单个传输连接.这支持能够使用事件驱动或多线程编程技术处理并发请求的应用程序.

引自fastcgi规范,其中提到了可以处理多个请求的连接,并且可以在多线程技术中实现.我想知道这个连接可以被视为进程,它可以为每个请求生成多个线程.如果这是真的,我对如何处理每个线程中的共享资源变得更加困惑?

PS感谢托马斯关于将帖子分成几个帖子的建议,但我认为问题是相关的,最好将它们组合在一起.

感谢S.Lott给出了很好的答案,但每个问题的一些答案都过于简短或根本没有涉及.

感谢大家的回答,这让我更接近事实.

webserver cpu-usage

55
推荐指数
3
解决办法
8318
查看次数

54
推荐指数
4
解决办法
9万
查看次数

如何让EC2上的Node.js服务器永远运行?

你可以从我的问题中看出,我是新手......

我建立了我的第一个网站,我建立了我的第一个Node.js服务器来服务它,然后在EC2上推送所有内容.

我在我的EC2 IP地址上测试了一切,一切似乎都在工作.

到现在为止,我一直在本地测试我的应用程序,所以每当我关闭终端时,app.js会停止运行,因此无法在localhost上提供任何内容.

既然我的服务器在EC2上,每当我关闭终端时,都会发生同样的事情("显然"可以说......).

所以我的问题是我如何让我的Node.js服务器在EC2上运行...就像...永远...所以我的网站保持活着..永远:)

我读了一些名为"永远"的节点模块,但我想知道(新的和所有......)为什么这个"永远"功能不是Node.js-EC2系统的默认设置?

我的意思是,如果我错了,请纠正我,但是不是设置一个网络服务器并将其推送到现场让它永远存在的全部意义吗?这不是服务器应该做什么(无限听取请求)?如果是这种情况,为什么我们需要额外的模块/设置来实现这一目标?

谢谢你的帮助..你可以告诉我,我不仅要找一个解决方案,还要解释一下,因为我真的很困惑.. :-)

编辑(您可能需要的一些细节) - 在EC2上安装我的应用程序后,这些是我在终端上执行的步骤(该应用程序正在运行Amazon Linux):

  • 我在终端上键入ssh -i xxxxxxxxxxx.pem ec2-user@ec2-xx-xx-xx-x.eu-west-1.compute.amazonaws.com

  • 登录到亚马逊机器后,我转到相关文件夹并执行节点app.js

  • 有机器3个文件夹:node,node_modules*name of my app*

  • app.js 居住在 *name of my app*

  • 之后,该网站将在我的EC2 IP上运行

  • 关闭终端后,一切都关闭了

webserver amazon-ec2 node.js

53
推荐指数
3
解决办法
3万
查看次数

如何为nginx请求设置允许的URL长度(错误代码:414,uri太大)

我在10个杂种前面使用Nginx.

当我提出大小超过2900的请求时,我会回来:

错误代码414:uri太大了

有没有人知道nginx配置文件中确定允许的uri长度的设置?

webserver nginx http-request

52
推荐指数
3
解决办法
8万
查看次数

分号作为URL查询分隔符

虽然强烈建议(W3C源,通过维基百科)Web服务器支持分号作为URL查询项的分隔符(除了&符号),但似乎通常不会遵循.

例如,比较

        http://www.google.com/search?q=nemo & OE = UTF-8

        http://www.google.com/search?q=nemo ; OE = UTF-8

结果.(在后一种情况下,分号是,或者在撰写本文时,被视为普通的字符串字符,就像网址是:http://www.google.com/search?q = nemo %3B oe = utf-8)

虽然我尝试了第一个URL解析库,但表现良好:

>>> from urlparse import urlparse, query_qs
>>> url = 'http://www.google.com/search?q=nemo;oe=utf-8'
>>> parse_qs(urlparse(url).query)
{'q': ['nemo'], 'oe': ['utf-8']}
Run Code Online (Sandbox Code Playgroud)

接受分号作为分隔符的当前状态是什么,哪些是潜在的问题或一些有趣的注释?(从服务器和客户端的角度来看)

url webserver parsing http query-string

51
推荐指数
3
解决办法
3万
查看次数

python中的多线程Web服务器

我正在尝试在python中创建多线程Web服务器,但它一次只响应一个请求,我无法弄清楚原因.你能帮我吗?

#!/usr/bin/env python2
# -*- coding: utf-8 -*-

from SocketServer import ThreadingMixIn
from  BaseHTTPServer import HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
from time import sleep

class ThreadingServer(ThreadingMixIn, HTTPServer):
    pass

class RequestHandler(SimpleHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.send_header('Content-type', 'text/plain')
        sleep(5)
        response = 'Slept for 5 seconds..'
        self.send_header('Content-length', len(response))
        self.end_headers()
        self.wfile.write(response)

ThreadingServer(('', 8000), RequestHandler).serve_forever()
Run Code Online (Sandbox Code Playgroud)

python webserver multithreading http

50
推荐指数
4
解决办法
6万
查看次数

在Github Pages上将子目录设置为网站根目录

我正在使用Github Pages来托管和提供静态网站.

静态网站具有应用程序的典型目录结构:

|_ source
|_ build
   |_index.html
 .gitignore
 config.rb
 Gemfile
 ...
 README.MD
Run Code Online (Sandbox Code Playgroud)

index.html是的build/,所以我想把它作为默认www路径.

因此,当用户点击username.github.io它时,会在该子目录中呈现内容,但它不会在URL上显示"/ build"/,因此将其设置为根文件夹.

笔记:

  • 我没有自定义域名,也没有计划为此目的获得一个域名.如您所见,我正在尝试利用github提供的默认URL命名约定.
  • 不使用Jekyll也不使用自动页面生成器功能.

git webserver github github-pages server

49
推荐指数
3
解决办法
2万
查看次数