标签: apache2-module

在哪里可以找到关于编写Apache模块的好参考/教程(在C中)?

我看了一遍,真的找不到任何东西.我需要三件基本的东西:

  1. 良好的API参考
  2. 某种教程
  3. 良好的建筑概述

我有模块源代码并且正在经历它 - 但我真的没有太多任何关于它所做的事情的上下文.

有什么建议?

apache apache2 apache2-module

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

如何卸载apache2模块?

看起来我使用了错误的模块版本apxs2.

一旦它被禁用(a2dismod),我该如何删除它,以便我可以安装正确的版本?

看似基本的,但......不知怎的......我在Google,IRC等上找不到任何东西.

uninstall apache2 apache2-module

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

正确学习C:是或否?

我的主要语言是PHP,但我在其他语言中做了一些(不是很多)编程.

我在C中为Apache编写了2个模块.我在C中编写它们,因为这是性能确实重要的事情之一.(动态生成世界的投影地图并输出到.png).

这些模块起作用,这就是我可以保证代码的质量.不要误会我的意思,我尽力编写正确的代码,但我确信它还有很大的改进空间.

我正在考虑将当前模块更改为线程,但没有使用线程软件的经验,以及追逐错误等问题仍然需要我花费大量时间.

我的问题是:
我是否应该首先学会用C语言正确编程(获得C语言编程语言)或者您是否建议采用其他方法.

注意:
我目前没有计划使用其他用于Apache模块的C语言

c multithreading apache2 apache2-module

7
推荐指数
1
解决办法
992
查看次数

Apache2上的FallbackResource(2.2.22(Ubuntu))

我正在尝试清理我的apache vhosts,因为我已经有了一些'别名',并将它们全部放入mod_rewrite可能很烦人.然而,当我能到具体的网址(例如http://example.dev/robots.txt,http://example.dev/自身,虚拟主机不会回落到列出的网址(FallbackResource /index.php).

vhost是Zend Framework项目的容器,没有设置.htaccess文件.

访问日志显示.... "GET / HTTP/1.1" 302 0,但Google Chrome显示"未收到数据"和"错误324(net :: ERR_EMPTY_RESPONSE):服务器关闭连接而不发送任何数据."

注释掉这一FallbackResource行,然后重新启用<Location />基于-n的mod_rewrite就可以正常工作了.

编辑:我可以看到vhost中没有任何东西可以阻止它工作.几Alias行(FallbackResource应该使用)和一些FilesMatch停止访问具有特定扩展名的文件.日志中出现的唯一内容是404尝试转到URL而不是index.php(列出的资源).

<VirtualHost *:80>
    ServerAdmin webmaster@site.com
    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/website/current/html/

    SetEnv APPLICATION_ENV productionbackend

    # must be most specific first
    Alias /i/static /var/website/static/i
    # more /i/* Alias
    Alias /i       /var/website/current/resources/common-furniture/

    # protecting files in the directory.
    <FilesMatch ".*\.xml">
        Order allow,deny
        Deny from all
    </FilesMatch>

    <Directory "/var/website/current/html/">
        Options …
Run Code Online (Sandbox Code Playgroud)

apache2 apache2-module

7
推荐指数
1
解决办法
1632
查看次数

如何编译mod_proxy_uwsgi或mod_uwsgi?

所以我试图在apache2后面使用uwsgi,但我在CentOS 6机器上这样做.(我用于基于Debian/Ubuntu的系统上下文.)

我使用pip install uwsgi并遵循了使用Django应用程序启动uwsgi的指示(通过http://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html).

我开始根据http://uwsgi-docs.readthedocs.org/en/latest/Apache.html配置apache2 ,但它没有说明从何处获取或如何构建mod_uwsgi或mod_proxy_uwsgi.mod_uwsgi.so肯定不在任何地方的系统上.有什么建议?

apache2 apache2-module uwsgi

7
推荐指数
1
解决办法
3761
查看次数

如何在Raspberry Pi(Backport mod_proxy_wstunnel)上将mod_proxy_wstunnel添加到Apache2 2.2

Raspberry Pi仍在使用Apache 2.2(现在为2.2.22-13 + deb7u4).要使用Apache作为Websockets的代理("ProxyPass"),需要Apache模块mod_proxy_wstunnel.

Apache模块mod_proxy_wstunnel在httpd 2.4.5及更高版本中可用.

如何在Raspberry Pi(Backport mod_proxy_wstunnel)上将mod_proxy_wstunnel添加到Apache2 2.2?

apache mod-proxy apache2-module websocket raspberry-pi

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

如何调试Apache模块

我最近一直在写一个Apache模块.使用内存池范例很有意思,但我显然没有做正确的事情.我有一个段错误,我似乎无法找到它.我当前的调试周期涉及ap_rprintfs和一个重建和重新加载Apache的make脚本.

在这种环境中可以使用哪种工具?

c apache debugging apache2-module

3
推荐指数
1
解决办法
5452
查看次数

Phusion Passenger/Apache在Mac OSX Maverick上无法正常运行

在我的MacBook上更新到OS X Maverick之后,我的本地开发环境被破坏了 - 小牛升级后MacOSX上缺少Apache httpd.h文件(**为优胜美地**更新)

现在在解决问题后,我似乎无法在端口80(localhost)上运行我的本地Web服务器.

如果我去'localhost',我会看到It works!哪个是默认的apache页面.

如果我运行,passenger start我可以查看我的应用程序,localhost:3000但这是一个运行的乘客独立Web服务器,而不是apache.

如果我跑,sudo passenger start -p 80 --user=martin我收到消息:

The address 0.0.0.0:80 is already in use by another process,
perhaps another Phusion Passenger Standalone instance.

If you want to run this Phusion Passenger Standalone instance on another port,
use the -p option, like this:

passenger start -p 81
Run Code Online (Sandbox Code Playgroud)

我不记得我第一次在笔记本电脑上安装Rails时做了什么,我确信我passenger start一开始就跑了,之后不需要这样做,而且在网上阅读更多关于它的信息,apache应该运行乘客自动,但apache似乎没有做任何事情,但显示默认的开始页面,我不知道为什么.

我认为Maverick创建了一个新的httpd.conf,但我没有看到太大的区别,我确保运行passenger-install-apache2-module返回的三个额外行是在配置文件的末尾.

乘客宝石是最新版本,Rails版本是2.3.14,红宝石是1.8.7,所以相当古老,但不应该重要我不认为它localhost之前完美的工作,而不必添加端口3000到网址所以只是希望有更多使用Passenger经验的人可以提供帮助.

我已经尝试过阅读大量其他问题和论坛以及Phusion Apache文档.`

apache ruby-on-rails apache2 passenger apache2-module

3
推荐指数
1
解决办法
3252
查看次数

如何为Apache 2.2.14启用mod_proxy_ajp?

我在生产中安装并运行了Apache 2.1.14 - 由于新的要求,我需要开始使用模块mod_proxy_ajp.

运行'./httpd -l'脚本不会显示已编译的模块'mod_proxy_ajp'.

有没有办法我可以启用mod_proxy_ajp而不必重新编译Apache实例?

谢谢.

apache2 apache2-module

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

将mod_rewrite添加到Docker镜像httpd:alpine

老实说,我几乎没有使用Alpine Linux的经验,但是我喜欢它的方法,因此想改变它。我也是Docker的新手,所以如果这是一个“愚蠢”的问题,请多多包涵。

我想要实现的是在httpd:alpine图像上构建并将HTTPd扩展到我的需求。

这将包括激活mod_rewrite模块并将自定义.htaccess复制到映像中。

这是我到目前为止的内容:

FROM httpd:alpine

# Copy .htaccess into DocumentRoot
COPY ./.htaccess /var/www/html/

RUN apk update
RUN apk upgrade
RUN apk add apache2-utils
RUN a2enmod rewrite
RUN rc-service apache2 restart
Run Code Online (Sandbox Code Playgroud)

现在的问题是,我不断收到“ a2enmod not found”错误,我不知道该如何解决。那可能是因为a2enmod是纯粹的Debian / Ubuntu / ...东西,但是我不知道任何激活mod_rewrite的替代方法(或与此相关的任何模块)。

预先非常感谢大家的支持!

mod-rewrite apache2 apache2-module docker alpine-linux

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