Tag: Apache

NameVirtualHost *:80没有虚拟主机

我有两个域名,两个SSL证书和两个IP地址。 我正在尝试为他们configuration我的apache虚拟主机文件。 首先,我为端口80和443注释了“NameVirtualHost”和“Listen”的所有实例。然后,我用我的虚拟主机文件做了以下操作。 虚拟主机文件的域1: NameVirtualHost 1.1.1.1:80 Listen 1.1.1.1:80 Listen 1.1.1.1:443 <VirtualHost 1.1.1.1:80> ServerName domain1.com … </VirtualHost> <VirtualHost 1.1.1.1:443> … </VirtualHost> domain2的VirtualHost文件: NameVirtualHost 2.2.2.2:80 Listen 2.2.2.2:80 Listen 2.2.2.2:443 <VirtualHost 2.2.2.2:80> ServerName domain2.com … </VirtualHost> <VirtualHost 2.2.2.2:443> … </VirtualHost>

Linux如何确定下一个PID?

Linux如何确定下一个将用于进程的PID? 这个问题的目的是为了更好地理解Linux内核。 不要害怕发布内核源代码。 如果按顺序分配PID,Linux如何填补空白? 到底会发生什么? 例如,如果我从Apache运行一个PHP脚本来执行<?php print(getmypid());?>在刷新时打印出相同的PID几分钟。 这段时间是apache接收多less个请求的函数。 即使只有一个客户端,PID最终也会改变。 当PID改变时,它将是一个接近的数字,但有多接近? 这个数字看起来并不完全是连续的。 如果我做一个ps aux | grep apache ps aux | grep apache我得到了相当数量的进程: Linux如何select下一个数字? 前几个PID仍在运行,以及最近打印的PID。 apache如何select重用这些PID?

设置一个HTTP代理来插入一个头

我需要testing一些HTTP客户端,我宁愿不修改。 我需要testing的是服务器的行为,当客户端的请求包括一个特定的静态头。 我想运行这个testing的最简单的方法是设置一个HTTP代理,在每个请求中插入头。 什么是最简单的方法来设置?

在C / C ++中的高性能应用程序Web服务器

在C或C ++中是否有任何高性能(理想情况下是开放源代码的)Web服务器? 我希望能够使用它,因为它调用我的应用程序中的方法/函数与填写HTTP请求类/结构,然后我可以返回一个填充的HTTP响应类/结构到它。 如果它不是开源的,我需要内置支持长轮询连接,保持活动等,否则,我认为我可以自己添加这些东西。 如果你不知道任何这样的服务器可用,你会build议写我自己的Web服务器,以适应任务? 它不能基于文件,而必须用高性能的C / C ++编写。 编辑:我想像C的Ruby Mongrel的东西,如果有帮助。

Plack :: App :: CGIBin通过Apache和mod_fastcgi – 找不到CGI脚本

我试图让Plack::App::CGIBin在FreeBSD 8.2上使用Apache2和FastCGI。 最终的目标是能够使用这个设置来通过Plack提供一大堆遗留的CGI脚本,以利用它的中间件function,但是我还没有能够得到一个简单的例子。 我已经在Plack :: Handler :: FCGI和Plack :: App :: CGIBin本身上跟踪了CPAN文档,但是我不确定是否缺less某些东西或者做了哪些错误,这些文档没有涉及。 这是我添加的Apacheconfiguration: # Set up external server FastCgiExternalServer /tmp/placktest.fcgi -socket /tmp/fcgi.socket # URL to be handled by FastCGI Alias /plack/ /tmp/placktest.fcgi/ 运行外部服务器的命令: plackup -s FCGI –listen /tmp/fcgi.socket /data/www/psgi/app.psgi 服务器启动成功,返回以下内容: FastCGI: manager (pid <pid>): initialized FastCGI: manager (pid <pid>): server (pid <pid>) started FastCGI: server […]

使用SSL的Apache名称虚拟主机

我正在尝试设置我们的服务器以允许通过SSL的stream量。 我知道SSL不适用于名称虚拟主机,但是我们在具有专用私有IP的虚拟机上拥有所有的apache服务器。 我们有一个主要的虚拟机,它具有mod_proxy设置将stream量路由到适当的vms。 但是,为了路由httpsstream量,我们需要在代理上安装证书以及vms。 我们有一个可以在所有主机上使用的通配符证书。 一切似乎正常工作,但我在代理的apache日志中收到以下内容: [警告] Init:SSL服务器IP /端口冲突:host1.domain.com:443(/ etc / apache2 / sites-enabled / host1:1)与host2.domain.com:443(/ etc / apache2 / sites-启用/主机2:1) 对于我们在代理上设置的每个主机,都有这些错误消息之一。 我们的代理虚拟主机设置如下: <VirtualHost ipaddress:443> ServerName host1.domain.com ProxyPreserveHost On ProxyRequests Off ProxyPass / https://privateip:443/ ProxyPassReverse / https://privateip:443/ SSLProxyEngine on SSLEngine on SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key </VirtualHost> 有什么办法可以让这个工作吗?

stream浪鸡与蛋:与uid = apache用户共享文件夹

My Vagrant框是从一个基本的Linux(科学的Linux)构build的,在configuration(使用shell脚本)期间,Apache被安装。 我最近将stream浪文件(v2)更改为: config.vm.synced_folder "public", "/var/www/sites.d/example.com", :owner => "apache", :group => "apache" 如果该框已经设置好并重新启动,那么效果很好。 现在,经过一个vagrant destroy && vagrant up我得到的错误: mount -t vboxsf -o uid=`id -u apache`,gid=`id -g apache` /var/www/sites.d/example.com /var/www/sites.d/example.com id: apache: User does not exist 这是清楚的 – 在最初的运行,apache尚未安装。 一个丑陋的解决方法当然是做synced_folder注释掉的基本configuration,注释它,然后重新启动。 有没有干净的伎俩来解决这个问题? 特别是以一种vagrant up的方式运行,即使箱子是新的。

如何在运行CLI和Apache2Handler时将系统环境variables导入到PHP中?

我的系统是Ubuntu ,我在/etc/environment设置了我的环境variables。 如果我使用CLI运行PHP脚本,则会识别/etc/environment中的环境variables。 但是,如果我通过http://domain/test.php (即apache2handler )执行PHP脚本,则完全相同的脚本会输出NULL,这意味着不会加载/etc/environment中的环境variables。 我所做的修复是在/etc/apache2/envvars添加variables,并解决了这个问题。 但这是两个不同的文件,然后必须保持同步。 我如何使PHP / Apache加载并从/etc/environment (system)中识别环境variables? 编辑:澄清的事情,当我说'没有加载到PHP'这意味着variables从/etc/environment没有设置$_SERVER , $_ENV , getenv()并不存在$GLOBALS 。 换句话说,“不加载到PHP”。

更改php.ini文件后是否需要重新启动Apache?

如果我对php.ini文件中的设置进行了更改,是否需要重新启动Apache以使其生效?

Apache HttpClient API中的CloseableHttpClient和HttpClient有什么不同?

我正在学习我们公司开发的应用程序。 它使用Apache HttpClient库。 在源代码中,它使用HttpClient类来创build实例以连接到服务器。 我想了解一下Apache HttpClient,我已经走过这一套例子 。 所有的例子都使用CloseableHttpClient而不是HttpClient 。 所以我认为CloseableHttpClient是HttpClient的扩展版本。 如果是这种情况,我有两个问题: 这两者有什么区别? 我的新开发推荐使用哪个类?