我希望nginx在收到与模式匹配的请求时返回404代码,例如/test/*.如何配置nginx来做到这一点?
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目录
我在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.conf说Listen 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) 到目前为止,我已经使用PHP,Python和Java开发了一些基于Web的应用程序.但是一些基本但非常重要的问题仍然是我所不知道的,所以我发这篇文章是为了得到你们的帮助和澄清.
假设我使用一些编程语言作为我的后端语言(PHP/Python/.Net/Java等),并使用Web服务器(apache/lighttpd/nginx/IIS等)部署我的应用程序.并且假设在时间T,我的一个页面得到来自不同用户的100个同时请求.所以我的问题是:
编辑:最近我读了一些关于CGI和fastcgi的文章,这让我知道fastcgi的方法应该是hanlde请求的典型方法.
该协议在多个独立的FastCGI请求之间复用单个传输连接.这支持能够使用事件驱动或多线程编程技术处理并发请求的应用程序.
引自fastcgi规范,其中提到了可以处理多个请求的连接,并且可以在多线程技术中实现.我想知道这个连接可以被视为进程,它可以为每个请求生成多个线程.如果这是真的,我对如何处理每个线程中的共享资源变得更加困惑?
PS感谢托马斯关于将帖子分成几个帖子的建议,但我认为问题是相关的,最好将它们组合在一起.
感谢S.Lott给出了很好的答案,但每个问题的一些答案都过于简短或根本没有涉及.
感谢大家的回答,这让我更接近事实.
Tomcat是Web服务器还是应用程序服务器?
你可以从我的问题中看出,我是新手......
我建立了我的第一个网站,我建立了我的第一个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上运行
关闭终端后,一切都关闭了
我在10个杂种前面使用Nginx.
当我提出大小超过2900的请求时,我会回来:
错误代码414:uri太大了
有没有人知道nginx配置文件中确定允许的uri长度的设置?
虽然强烈建议(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)
接受分号作为分隔符的当前状态是什么,哪些是潜在的问题或一些有趣的注释?(从服务器和客户端的角度来看)
我正在尝试在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) 我正在使用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"/,因此将其设置为根文件夹.
笔记: