Apache 前端服务器连接到 Jetty 应用程序服务器时出现问题。
我认为ProxyPass !在位置块中不应该将处理传递给应用程序服务器,但由于某种原因,在我的情况下没有发生,Jetty 在缺少的静态(js、css 等)上显示 404
这是我的 Apache (v 2.4, BTW) 虚拟主机块:
DocumentRoot /path/to/foo
ServerName foo.com
ServerAdmin webmaster@foo.com
RewriteEngine On
<Directory /path/to/foo>
AllowOverride None
Require all granted
</Directory>
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
# don't pass through requests for statics (image,js,css, etc.)
<Location /static/>
ProxyPass !
</Location>
<Location />
ProxyPass http://localhost:8081/
ProxyPassReverse http://localhost:8081/
SetEnv proxy-sendchunks 1
</Location>
Run Code Online (Sandbox Code Playgroud) 在我的 Fedora 14 开发人员机器上,我可以将 sharedAliases.sh 文件添加到 /etc/profile.d —— 然后我的用户和 root 用户都可以访问共享别名。
切换到远程 CentOS 5.7 机器,看起来完全相同的配置,没有骰子,root 用户无权访问共享别名。
这可能是因为我 SSH 进入 CentOS 机器,不确定。无论如何,蹩脚的解决方法是将共享别名复制到 root 用户的 .bashrc 中,因为这是我能够将所需的首选项放入 root 的唯一方法(是的,我知道我应该 sudo,但一直在使用 su 滚动年)。
感谢您的想法,如果可能的话,宁愿不必重复别名。
使用 Apache 2.4 设置本地开发环境。看起来与 2.2 相比有所改变
特别是, conf.d/ 目录不见了,现在我们只有 conf/ 目录,在 httpd.conf 中只有一个虚拟主机文件条目:
#Include conf/extra/httpd-vhosts.conf
Run Code Online (Sandbox Code Playgroud)
那么如何获得多个虚拟主机配置文件并被最新版本的 Apache 识别?
我不想把我所有的虚拟主机条目放在一个文件中。conf.d 目录解决方案很好,因为您只有虚拟主机文件在那里,没有其他配置可以过滤掉(次要细节,但更干净,imo)
我曾经知道这一点,并且可以在谷歌上找到参考。
虽然有点麻烦,但我想快速跳出屏幕(例如,“sh ru”,或更冗长的版本,“show running-config”),而不用空格键一直跳到最后。
我有一个 ESXi (v4.1 U2) 盒子,有 16GB RAM 和 8 个 CPU 内核可用。
完整的堆栈将包含 2 个 CentOS 6 实例:
1) DB Server
MySQL
2) Web server
Apache httpd load balancer
2X Jetty App. Servers (Scalatra + Scalate + ScalaQuery)
Jedis cache
Run Code Online (Sandbox Code Playgroud)
资源方面我应该没问题,但我想知道这个设置在 64 位中有什么影响/好处?Apache 将使用 Google mod_pagespeed 和内存缓存;Jedis 显然也在内存中。
我正在寻找最高性能。
花了 6 个小时将 djbdns(tinydns + dnscache)设置为辅助名称服务器。我设法拼凑了一个可行的解决方案,但我很困惑为什么它不能开箱即用。
主要和次要名称服务器都位于 Cisco ASA 后面,外部 IP 会通过 NAT 连接到适当的内部子网,在这种情况下,名称服务器是 DMZ。
主 NS 由 Plesk 类型的 CP 运行,因此 djbdns 配置都是 GUI,并且运行良好。现在,在我发现二级域名服务器托管的敲诈勒索之前,我一直在考虑将这项任务交给 3rd 方。不,谢谢,trop cher 为此免费。无论如何,您自己的时间:让一个文件服务器坐在 colo 机架上什么都不做,让我们开始工作吧。
按照本教程:
http://www.howtoforge.com/clean-djbdns-dns-server-on-centos-dnscache-and-tinydns-a-to-z
我把所有东西都安装好了;但是,没有任何效果,或者至少只针对 localhost 进行了挖掘。我需要 dig@dmz-ip foo.com 来解决。
不知道有什么更好的,我破解了 dnscache 和 tindns env/IP 文件,将它们反转,所以 tinydns 在 localhost 上监听 dmz 和 dnscache。重新启动服务和瞧,能够从远程笔记本电脑挖掘到辅助名称服务器 IP 并解析我们托管的域,太棒了。
所以,我想,好吧,我应该正确地做这件事,把所有东西都吹走,重新安装,并设置 tinydns 来监听 localhost 上的 dmz 和 dnscache(就像我在手动破解 env/IP 文件时所做的那样)。试图挖掘@localhost foo.com, nada; dig@dmz-ip foo.com 也是一样。跆拳道?是的,wtf。在 Noob 模式下,我在 localhost 上尝试了 tindyns,无论是在 dmz 上,还是在 dmz 等上,都没有任何效果。
最后,我在 dmz …
尝试按照此文件为 CentOS 6 的“真正”最小安装组合一个 kickstart,以在 ESXi (v4.1u2) 虚拟化服务器上运行(位于 Cisco ASA 后面)
理想情况下,操作系统的占用空间将相当小,因为我计划运行多个 JVM 实例,每个实例都在它们自己的 CentOS 虚拟机中。
虚拟堆栈将是:
1) Apache 2.4 web server/load balancer VM
2) MySQL 5.5 VMs (master/slave)
3) 5 JVM VMs running Java 7
Run Code Online (Sandbox Code Playgroud)
我从来没有使用过近乎无包的安装(即--nobase),所以我正在寻找有关 CentOS 6 的最小功能安装的基本包的建议(注意:Apache、MySQL 和 Java 7 将从源代码安装;即不是通过 yum/rpm)。
如果不值得麻烦(即 CentOS 最小 ISO 不太臃肿),请告诉我(我确实有足够的磁盘空间、CPU 周期和 RAM,但为了在简化的基本操作系统上工作,我在问这个问题)。
否则,将非常感谢必备软件包的列表。
谢谢
apache-2.4 ×2
32bit-64bit ×1
alias ×1
centos6 ×1
cisco-asa ×1
djbdns ×1
jetty ×1
linux ×1
packages ×1
proxypass ×1
root ×1
tinydns ×1
user-profile ×1
virtualhost ×1
vmware-esxi ×1