标签: web-server

我的网站文件/文件夹在 Linux 网络服务器上应该有什么权限?

这是一个关于 Linux Web 服务器上文件权限的规范问题

我有一个运行 Apache2 的 Linux Web 服务器,该服务器托管多个网站。每个网站在 /var/www/ 中都有自己的文件夹。

/var/www/contoso.com/
/var/www/contoso.net/
/var/www/fabrikam.com/
Run Code Online (Sandbox Code Playgroud)

基本目录 /var/www/ 归 root:root 所有。Apache 以 www-data:www-data 运行。Fabrikam 网站由两位开发人员 Alice 和 Bob 维护。两个 Contoso 网站均由一位开发人员 Eve 维护。所有网站都允许用户上传图片。如果网站遭到入侵,其影响应尽可能地有限。

我想知道设置权限的最佳方法,以便 Apache 可以提供内容,网站不受攻击,并且开发人员仍然可以进行更改。其中一个网站的结构如下:

/var/www/fabrikam.com
    /cache
    /modules
    /styles
    /uploads
    /index.php
Run Code Online (Sandbox Code Playgroud)

应该如何对这些目录和文件设置权限?我在某处读到你永远不应该在网站上使用 777 权限,但我不明白这会导致什么问题。在繁忙时期,网站会自动缓存一些页面并将结果存储在缓存文件夹中。网站访问者提交的所有内容都保存在上传文件夹中。

security linux permissions web-server apache-2.2

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

站点可用与站点启用与 conf.d 目录(Nginx)的区别?

我有一些使用 linux 的经验,但没有使用 nginx 的经验。我的任务是研究应用服务器的负载平衡选项。

我已经使用 apt-get 安装了 nginx,一切看起来都很好。

我有一些问题。

sites-available 文件夹和 conf.d 文件夹有什么区别。这两个文件夹都包含在 nginx 的默认配置设置中。教程使用两者。它们的用途是什么,最佳实践是什么?

启用站点的文件夹有什么用?我如何使用它?

默认配置引用一个 www-data 用户?我必须创建那个用户吗?如何为该用户提供运行 nginx 的最佳权限?

linux ubuntu configuration nginx web-server

157
推荐指数
4
解决办法
12万
查看次数

您如何对网站进行负载测试和容量规划?

这是一个关于网站容量规划的规范问题

有关的:

有哪些推荐的网站和网络应用程序容量规划工具和方法?

请随意描述适用于不同网络服务器、框架等的不同工具和技术,以及适用于一般网络服务器的最佳实践。

load-testing web-server capacity-planning benchmark

122
推荐指数
4
解决办法
7万
查看次数

如何列出 Apache 启用的模块?

是否有列出所有启用的 Apache 模块的命令?

linux http web-server apache-2.2

118
推荐指数
4
解决办法
21万
查看次数

为什么本地主机上的响应这么慢?

我正在为我的一个朋友开发一个小型 PHP 项目,并且我有一个用于本地开发的 WAMP 环境设置。我记得我的本地 Apache 2.2 立即响应的日子。唉,现在我从一个漫长的假期回来了,我发现他们的反应localhost非常缓慢。

得到一个 300B 的 HTML 页面大约需要 5 秒钟。

当我查看任务管理器时,httpd进程 (2) 使用了 0% 的 CPU,总体而言我的计算机没有负载(0-2% CPU 使用率)。

为什么延迟这么高?是否有任何 Apache 设置我可以调整以使其线程以更高的优先级运行?它似乎只是在提供响应之前睡觉。

php web-server latency apache-2.2

69
推荐指数
5
解决办法
24万
查看次数

高流量站点如何为超过 65535 个 TCP 连接提供服务?

如果一台机器可以拥有的端口数有限制,而一个套接字只能绑定到一个未使用的端口号,那么遇到大量(超过最大端口号)请求的服务器如何处理这个问题?是否只是通过使系统分布式,即在许多机器上有许多服务器来完成?

http web-server port tcp traffic-management

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

如何使用 DNS/主机名或其他方式解析特定 IP:Port

这是一个关于 DNS/主机名解析到 IP/端口的规范问题

示例 1

我在端口 80 上运行一个 Web 服务器,在端口 87 上运行另一个。我想使用 DNS,以便 www.example.com 转到端口 87。如何仅使用 DNS 来完成此操作?

示例 2

我在我的服务器上的非标准端口上运行服务。如何让客户端自动连接到这个非标准端口?我可以使用 DNS 吗?是否有一些特定于应用程序的支持,其中 DNS 可以指示 IP 和端口?

示例 3

某些应用程序协议是否专门支持主机名感知,并允许根据此信息采取特殊操作?Server Fault 上是否还有其他问题涵盖其中的一些问题?

Commandeering:这个问题最初是询问在同一台服务器上运行 IIS 和 Apache,但相同的概念可以应用于从客户端接收连接的任何服务器软件。下面的回答描述了使用DNS和应用协议支持为客户端分配端口号进行连接的技术问题和解决方案。

domain-name-system web-server redirect

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

如何让 Apache Web Server 侦听两个不同的端口?

我想要一个我在家里安装的 Apache Web 服务器来侦听端口 80 和端口 8080。

我已经添加Listen 8080到 httpd.conf 并重新启动了 Apache 服务,但服务器似乎没有在 8080 上侦听。打入http://localhost:8080超时并且不显示我的 index.html 而是http:/ /localhost将显示我的 index.html。

我如何让它听 80 和 8080?

web-server apache-2.2

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

为什么服务器不会发送 SYN/ACK 数据包来响应 SYN 数据包

最近,我们发现了一个 TCP 连接问题,该问题主要限于浏览我们网站的 mac 和 Linux 用户。

从用户的角度来看,它表现为与我们网站的连接时间非常长(> 11 秒)。

我们已经设法追踪到这个问题的技术特征,但无法弄清楚它为什么会发生或如何解决它。

基本上,发生的事情是客户端的机器正在发送 SYN 数据包以建立 TCP 连接,而 Web 服务器收到它,但没有响应 SYN/ACK 数据包。在客户端发送了许多 SYN 数据包后,服务器最终以 SYN/ACK 数据包进行响应,并且连接的其余部分一切正常。

而且,当然,问题的关键是:它是间歇性的,不会一直发生(尽管它确实发生在 10-30% 的时间内)

我们使用 Fedora 12 Linux 作为操作系统,使用 Nginx 作为 Web 服务器。

Wireshark 分析截图

Wireshark 分析截图

更新:

在客户端上关闭窗口缩放阻止了问题的发生。现在我只需要一个服务器端分辨率(我们不能让所有客户端都这样做):)

最终更新:

解决方案是关闭我们服务器上可供公众访问的TCP 窗口缩放 TCP 时间戳

linux web-server tcp

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

为什么将 Nginx 设置为反向代理是个好主意?

我有一个在 Gunicorn 上运行的 Django 站点,通过 Nginx 使用反向代理。Nginx 不就是额外的不必要的开销吗?在 Gunicorn 之上添加它有什么帮助?

nginx web-server reverse-proxy django

47
推荐指数
1
解决办法
2万
查看次数