方案:
使用静态 IP 的直接 Internet 连接(upd:直接连接到 ISP,无需任何路由器)。
赢网络服务器(赢 2008 R2)。
带有来宾操作系统 Linux Debian 的 VirtualBox。
Debian 上的网络服务器。
如何配置 VirtualBox 网络?
还有其他虚拟化解决方案吗?
我有一个强大的 linux 服务器(32 GB RAM)和良好的硬盘驱动器。与我的一位主人。我运行了很多使用 varnish、nginx、unicorn 应用服务器、瘦应用服务器、redis、mongodb 和 postgresql 的 web 应用程序。现在,我不希望网络应用程序有大量的流量。所以,我的问题是,有了足够好的服务器,我是否应该在裸机操作系统上运行所有服务?还是应该设置 VMS 并在 VMS 上运行一些服务?设置虚拟机在性能方面似乎不是一个好主意。
编辑:如果有人对此有一些数字,那就太好了。我从未想过将数据库放在 VM 上,因为它们的 IO 密集程度更高。我没有任何数字来支持这一点,但想知道是否有人在 VM 上部署了数据库。
我有一个 Apache httpd 2.2 服务器。我想使用 syslog 记录所有消息,以便将请求发送到我们的中央 syslog 服务器。我还想确保所有日志消息都发送到本地磁盘,以便系统管理员可以轻松访问本地系统上的日志文件。
很容易将 HTTP 访问日志发送到本地磁盘和系统日志。一种常用的方法是:
LogFormat "%V %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog logs/access_log combined
CustomLog "|/usr/bin/logger -t httpd -i -p local4.info" combined
Run Code Online (Sandbox Code Playgroud)
但是对于错误日志要做到这一点并不容易。以下配置不起作用,因为错误日志仅使用最后一个 ErrorLog 节。第一个 ErrorLog 节被忽略。
ErrorLog logs/error_log
ErrorLog syslog:local4.error
Run Code Online (Sandbox Code Playgroud)
如何确保将 Apache 错误日志写入本地磁盘并发送到 syslog?
是否可以在不接触的情况下做到这一点/etc/syslog.conf?如果我的用户想要管理他们自己的 Apache 配置文件,我很好,但我不希望他们接触系统文件,例如/etc/syslog.conf
如果我们有 3 个具有相同域名且每个具有不同公共 IP 的网络服务器。此设置是否会带来最小的负载平衡。
当我们查找 google.com 时,它被解析为 10+ ip。这个设置可以带来类似的设置。
我无法让 SSI 在 NGINX 上工作。如果您点击http://www.bakerycamp.com/test.shtml ,您可以看到问题。这是该文件的内容:
<!--# echo hi -->
Run Code Online (Sandbox Code Playgroud)
如果你在浏览器中点击这个,你会在内容中看到 SSI 指令——显然 NGINX 没有解释 SSI 指令。
我的 NGINX 配置文件如下所示:
server {
listen 80;
server_name bakerycamp.com www.bakerycamp.com;
access_log /var/log/nginx/bakerycamp.access.log;
index index.html;
root /home/bakerycamp.com;
location / { ssi on; }
# Deny access to all hidden files and folders
location ~ /\. { access_log off; log_not_found off; deny all; }
}
Run Code Online (Sandbox Code Playgroud)
我没有从源代码构建 NGINX,而是使用 apt-get 安装它。我假设它有 SSI 模块(因为这是默认的)但也许没有?我应该硬着头皮从源头重建吗?无论如何,是否可以判断已安装的 NGINX 是否支持 SSI 并且我的配置是错误的?
我对 Web 服务器的工作方式有非常基本的了解。我希望学习如何设置第三级域 test1.mysite.tld,使其指向 Web 服务器子目录 /var/www/test1/。(www.mysite.tld 应保持指向主目录)。我在一台装有 Debian 的机器上。我在 apache2.conf 中定义了一个虚拟主机
<VirtualHost *>
ServerName test1.mysite.tld
DocumentRoot /var/www/test1/
LogLevel debug
ErrorLog other_vhosts_access.log
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
尽管如此,当我尝试 url test1.mysite.tld 时,会返回 /var/www/index.html,而不是 /var/www/test1/index.html。
我错过了什么吗?重写规则?我需要为 DNS 做些什么吗?谢谢你的帮助
自2013 年5 月 2 日起,某种机器人每 5 分钟访问一次我的网站。
大多数时候它调用这个不存在的 URL:
/viewtopic.php?f=3&t=849
Run Code Online (Sandbox Code Playgroud)
始终使用此用户代理
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; TencentTraveler ; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727)
Run Code Online (Sandbox Code Playgroud)
(= IE 6, Windows XP)
它不仅显着扭曲了访问者统计数据,它甚至不能识别为机器人,所以我猜它是某种垃圾邮件发送者。
我的问题是,这个客户做了什么,为什么它不断地调用这个页面?- 我怎样才能防止这种情况?
我在 Linux Debian 上使用 vServer。
有大量的基准测试,比较 Apache、nginx、lighttpd、LiteSpeed/OpenLiteSpeed、Cherokee 等。
不幸的是,似乎大多数基准测试都是“小静态文件”类型,这很没用……谁使用网络服务器来提供小静态文件?
为什么没有人为默认安装的 php 应用程序运行基准测试,例如:
这将更好地表明在实际使用类型条件下什么最有效,并且可以让人们更好地了解最适合他们需求的服务器。
上述流行的 php 应用程序可能会满足大量网络服务器用户的需求。
当然,在这种基准测试中,MySQL、PHP 等的性能会发挥作用,我们不会得到网络服务器的原始性能数据。但是谁真正关心 RAW 数字呢?人们真的只关心比较性能,这就是他们检查基准的原因。
如果我们开始进行这种基准测试,我们可能最终会得出这样的结论:服务器比较没有实际意义,因为竞争产品之间没有显着的性能差异,并且基础设施/设置中还有其他项目需要更多的优化关注。
我确信运行基准测试的人很聪明并且知道以上所有内容……那么我们为什么仍然继续获得毫无价值的“小静态文件”基准测试?
我的 Windows/IIS 网站设置中有固定数量的虚拟机,我无法在短期内更改:
我有一些当前在网络服务器上运行的后台服务来运行繁重的离线数据库维护工作,有时会占用大量内存和 CPU 本身。我想把它们移开。将其移至 SQL Server 或 AD 控制器的利弊是什么?哪个对整体系统性能更好?你有什么建议吗?
无需建议我更改硬件配置——我不能。
我想为 apache 服务器编写一个配置,它应该适用于 apache-2.2 和 -2.4 而无需更改。由于 v2.4 中有很多必须加载的新模块,以及一些更改的指令,我需要一些条件语句。我想要的是类似的东西
<If ApacheVersion >= 2.4>
LoadModule mod_only_in_2.4.so
</If>
Run Code Online (Sandbox Code Playgroud)
但我还没有找到正确的表达方式。有人可以指出我正确的方向吗?
澄清我的动机:我正在开发一个服务器,我希望能够将其复制到服务器上并在没有进一步依赖主机的配置的情况下运行。而且由于机器可以有任一版本的 apache,我想要一个在这两种情况下都可以使用的配置。
web-server ×10
apache-2.2 ×2
apache-2.4 ×1
bare-metal ×1
benchmark ×1
conditional ×1
iis ×1
internet ×1
linux ×1
logging ×1
networking ×1
nginx ×1
security ×1
spam ×1
sql-server ×1
syslog ×1
virtualbox ×1