服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器
更新摘要 / var / www目录由root:root拥有,这意味着没有人可以使用它,这是完全没有用的。 既然我们都想要一个真正有效的web服务器(而且没有人应该以“root”身份login),那么我们需要解决这个问题。 只有两个实体需要访问。 PHP / Perl / Ruby / Python都需要访问文件夹和文件,因为他们创build了许多文件(即/uploads/ )。 这些脚本语言应该在nginx或apache下运行(或者甚至像FastCGI for PHP一样)。 开发者 他们如何获得访问? 我知道有人在某个地方做过这个事情。 不过,有数十亿的网站,你会认为会有更多关于这个话题的信息。 我知道777是完全读/写/执行所有者/组/其他的权限。 所以这似乎并不需要正确,因为它给随机用户的完整权限。 需要在/var/www上使用哪些权限,以便: 源代码控制像git或svn 用户像“网站”( 甚至添加到“www-data” ) 像apache或lighthttpd这样的服务器 和PHP / Perl / Ruby 都可以读取,创build和运行文件(和目录)吗? 如果我是正确的,Ruby和PHP脚本不是直接“执行”,而是传递给解释器。 所以没有必要对/var/www文件执行许可…? 因此,似乎正确的许可将会是chmod -R 1660 这四个实体共享的所有文件 所有文件都是不可执行的 完全阻止目录中的其他人 将所有未来文件的权限模式设置为“sticky” 它是否正确? 更新1:我刚刚意识到,文件和目录可能需要不同的权限 – 我正在谈论上面的文件,所以我不知道什么目录权限将需要。 更新2: /var/www的文件夹结构急剧变化,因为上述四个实体之一总是添加(有时删除)很多级别的文件夹和子文件夹。 他们还创build和删除其他3个实体可能需要读/写访问的文件。 因此,权限需要对文件和目录做以上四件事情。 因为他们都不需要执行权限(请参阅上面关于ruby / […]
有什么办法来创build一个虚拟机,你可以在物理安装中使用VirtualBox吗? 例如,如果我在物理计算机上安装了Windows XP,并且希望在另一台计算机上拥有该计算机的虚拟版本, 这样不用重新安装和重新configuration整个操作系统就可以节省大量的时间。 我想可能会有微软授权的问题。 但是,即使Windows不可能,也可以使用物理Linux机器并创build一个VirtualBox的版本? 其他桌面虚拟化软件是否提供此function?
多年来,我不得不扔掉一些计算设备(等等): 几个ADSL的路由器有奇怪的症状(失去无线连接,失去有线连接,DHCP故障,DNS症状等) 两个PVR自发地重新启动并腐蚀自己(尽pipe社区做出了最好的诊断和帮助) 一个外部硬盘仍然声称function,但破坏数据 一个硬盘作为NAS RAIDarrays的一部分“坏”(就NAS而言) (这是除了各种笔记本电脑和打印机死亡的方式与这个问题无关)。 显然,从这么less的信息来说肯定是不可能的,但是这些可能与权力问题有关呢? 我目前没有任何这种设备的UPS。 一切都在浪涌保护的帮派sockets,但没有什么可以平滑停电。 家里的UPS真的可行和有用吗? 我知道市场上有一些相当便宜的UPS,但我不知道他们真的有多有用。 在停电期间,我对保持家庭networking的实际运行并不感兴趣,但是如果目前的情况使我的硬件处于危险之中,我希望它能够更加优雅地closures电源。
让每个文件在访问时都要更新,这听起来像是浪费。 使用noatime选项安装文件系统有什么用处。 什么样的应用程序/服务器依赖于访问时间?
我有一个数组,充满了不同的错误消息,因为我的脚本运行。 我需要一种方法来检查脚本是否为空,如果是,请采取特定的操作。 我已经试过把它当作正常的VAR来处理,并使用-z来检查它,但这似乎不起作用。 有没有办法来检查数组是否为空或不在Bash? 谢谢
如果负载均衡器(例如haproxy)后面有5台Web服务器,并且它们为同一个域提供内容,那么是否需要所有服务器的SSL证书,或者您能否在每台服务器上使用相同的证书? 我知道你可以把所有的SSL请求放在一个特定的服务器上,但这需要分布式的会话信息,并希望它不会这样。
我使用主机名运行几个docker容器: web1.local web2.local web3.local 根据nginx的主机名路由到这些路由。 我有一个代理在这个设置(在不同的机器连接到互联网)前,我定义上游为: upstream main { server web1.local:80; server web2.local:80; server web3.local:80; } 和实际的虚拟主机描述: server { listen 80; server_name example.com; location / { proxy_pass http://main; } } 现在,因为容器接收主机名“main”而不是“web1.local”,所以它们没有正确响应请求。 问题:在代理请求的时候,如何告诉nginx能够通过上游服务器的名字而不是主机上游服务器的名称?
我检查/ var / log和/ usr / local / mysql,我似乎无法find日志。 我想解决一个错误,build立一个数据库连接与PHP函数。
使用PuTTY从Windows 7 PC通过SSH连接到Ubuntu服务器,出现一些屏幕错误: 即它: “ 午夜指挥官” (MC)中的“双重select”。 其他像线元素的字符被绘制为错误的字符(例如“â”而不是“|”)。 我连接到相同的Ubuntu服务器与Mac OS X的terminal和SHH,并没有得到这些屏幕garbling(即一切看起来和工作正常)。 我已经尝试过使用PuTTY中的字体设置,将其从Courier New改为Consolas,但没有运气。 所以我的问题是: 如何configuration腻子正确显示特殊字符,而不是双画/覆盖屏幕线?
我为我工作的公司pipe理一些基于云的(VPS)服务器。 这些服务器是运行LAMP堆栈/入站数据收集(rsync)的最小的ubuntu安装。 数据很大,但不是个人,财务或类似的东西(即不那么有趣) 显然在这里,人们总是要求configuration防火墙等。 例如,我使用了一些方法来保护服务器(但不限于) ssh在非标准端口上; 没有密码input,只有已知的ipslogin等已知的SSH密钥 https和受限制的shell(rssh)通常只能从已知的keys / ips中获得 服务器是最小的,最新的,并定期打补丁 使用rkhunter,cfengine,lynis denyhosts等进行监控 我有丰富的经验的Unix系统pipe理员。 我相信我知道我在做什么。 我configuration/ etc文件。 我从来没有觉得有必要安装像防火墙这样的东西:iptables等 暂时搁置VPS的物理安全问题。 Q& 我无法决定我是否幼稚,或者fw提供的增量保护值得学习/安装,以及服务器上额外的复杂性(包,configuration文件,可能的支持等)。 迄今为止(碰木头)我从来没有任何安全问题,但我也不自满。