标签: httpd

Web 服务器上的交换空间不足,该怎么办?

我有 2 个 LAMP Web 服务器,它们经常用完交换空间(请参阅附加的顶部屏幕截图)。

Apache的设置如下:

<IfModule prefork.c>
启动服务器 64
最小备用服务器 64
最大备用服务器 128
服务器限制 256
第 256 章
MaxRequestsPerChild 4096
</IfModule>

PHP 的资源限制是:

最大执行时间 = 30
最大输入时间 = 30
内存限制 = 80M

我是这样的服务器管理员的新手(我是一名开发人员);我可以调整什么来防止交换?

这是崩溃时其中一台服务器上的顶部屏幕截图: 截屏

httpd swap httpd.conf apache-2.2

8
推荐指数
1
解决办法
9842
查看次数

SSL 对等方无法协商可接受的安全参数集

我按照本指南的第 1B 部分创建了一个证书并自行签署并设置 Apache 以使用该证书,但是每当我尝试安全地查看我的网站时,Firefox 都会抛出此错误:

安全连接失败

连接到 animuson.com 时发生错误。

SSL 收到超过最大允许长度的记录。

(错误代码:ssl_error_rx_record_too_long)

我先用 4096 试了一下。然后,我没有使用指南中的 4096,而是使用了 1028(我认为这是正常使用的大小)。我在 CentOS 5 上使用 APache2 ...

来自“/etc/httpd/conf/extra/httpd-ssl.conf”(当然是压缩在一起的):

Listen 443
SSLEngine On
SSLCertificateFile "/etc/httpd/conf/ssl/server.crt"
SSLCertificateKeyFile "/etc/httpd/conf/ssl/server.key"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑

我从他们默认的 ssl.key 和 ssl.crt 目录中移动了英里,我做了一些我不记得的事情,这似乎有效。它开始显示“添加例外”页面,我通过根证书安装到我的浏览器,现在它显示以下错误:

安全连接失败

连接到 animuson.com 时发生错误。

SSL 对等方无法协商可接受的安全参数集。

(错误代码:ssl_error_handshake_failure_alert)

我不知道这意味着什么,或者你可能需要什么信息来帮助我解决这个问题。

ssl httpd centos ssl-certificate apache-2.2

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

Apache 使用 100% CPU。“ps”命令可以告诉我它在做什么吗?

我有一个 SLES 10 Linux 服务器,有时它被 Apache 最大化到 100% CPU。

随着ps ax我所看到的,阿帕奇已经催生〜50个Apache进程。

例如,该ps命令可以告诉我这些 Apache 进程中的每一个都在做什么吗?

或者也许是其他一些方法,以便我可以查看触发问题的网页?

linux httpd apache-2.2

8
推荐指数
1
解决办法
8288
查看次数

来自 Apache 的 SSL 连接错误

我在 Ubuntu 10.04 上的 Apache/2.2.14 上运行(自签名)SSL 证书站点,但是各种浏览器在一半的连接尝试中都出现错误。刚刚从 Chrome 中看到这个暂时性错误:

"Error 126 (net::ERR_SSL_BAD_RECORD_MAC_ALERT): Unknown error."
Run Code Online (Sandbox Code Playgroud)

点击刷新,问题会消失一段时间。

wget也是:

$ wget --no-check-certificate https://dev.foo.com/deps/
--2010-09-08 19:30:26--  https://dev.foo.com/deps/
Resolving dev.foo.com... 184.72.53.220
Connecting to dev.foo.com|184.72.53.220|:443... connected.
OpenSSL: error:0407006A:rsa
routines:RSA_padding_check_PKCS1_type_1:block type is not 01
OpenSSL: error:04067072:rsa routines:RSA_EAY_PUBLIC_DECRYPT:padding check failed
OpenSSL: error:1408D07B:SSL routines:SSL3_GET_KEY_EXCHANGE:bad signature
Unable to establish SSL connection.
Run Code Online (Sandbox Code Playgroud)

立即再次运行它,它可以工作:

$ wget --no-check-certificate https://dev.foo.com/deps/
--2010-09-08 19:30:29--  https://dev.foo.com/deps/
    Resolving dev.foo.com... 184.72.53.220
Connecting to dev.foo.com|184.72.53.220|:443... connected.
WARNING: cannot verify dev.foo.com's certificate, issued by
`/CN=dev.foo.com':
 Self-signed certificate encountered.
HTTP request sent, …
Run Code Online (Sandbox Code Playgroud)

ssl httpd ssl-certificate tls apache-2.2

8
推荐指数
1
解决办法
7734
查看次数

设置 nginx.conf 以拒绝除某些文件或目录之外的所有连接

我正在尝试设置 Nginx,以便拒绝与我的数字 ip 的所有连接,除了一些任意目录和文件。因此,如果有人访问我的 IP,他们可以访问 index.php 文件,例如 phpmyadmin 目录,但如果他们尝试访问任何其他目录,他们将被拒绝。

这是我的服务器块nginx.conf

server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm index.php;
        }

        location ~ \.php$ {
            root           html;
            fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME /srv/http/nginx/$fastcgi_script_name;
            include        fastcgi_params;
        }
}
Run Code Online (Sandbox Code Playgroud)

我将如何进行?非常感谢!

linux nginx httpd web-server

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

无法让 httpd 使用正确的 SSL

我有一个签名的 CA,由我的大学颁发。我使用他们的公钥文件生成了我的 CSR,如下所示:

openssl genrsa -out myservername.key 2048 (new key)
openssl req -new -key myservername.key -out myservername.csr 
Run Code Online (Sandbox Code Playgroud)

我给他们发了 CSR,他们给我发回了签名的 .crt 文件。

我为我的 CA 密钥和证书创建了一个目录并将它们放在那里。

我的 httpd.conf 的相关部分如下所示:

<VirtualHost _default_:443>
SSLEngine on
SSLCACertificateFile /var/cosign/certs/CA/publickey.pem
SSLCertificateFile /var/cosign/certs/myserver.crt
SSLCertificateKeyFile /var/cosign/certs/myserver.key

DocumentRoot /var/www/html/
<Directory /var/www/html>
    Options -Indexes
    AllowOverride All
</Directory>
Run Code Online (Sandbox Code Playgroud)

但它没有将此证书用于 SSL。如果我执行此命令:

openssl s_client -connect localhost:443 -showcerts
Run Code Online (Sandbox Code Playgroud)

我明白了:

CONNECTED(00000003)
depth=0 C = --, ST = SomeState, L = SomeCity, O = SomeOrganization, OU = SomeOrganizationalUnit, CN = portcharlotte, emailAddress = root@portcharlotte
verify error:num=18:self signed …
Run Code Online (Sandbox Code Playgroud)

ssl httpd openssl ssl-certificate certificate-authority

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

在 CentOS 6 下启动时 httpd 服务不会启动

我在配置 CentOS 6 Vagrant 设置以在启动时启动 Apache 服务时遇到问题。我曾尝试使用 chkconfig 并且操作系统似乎只是忽略它。

当我跑步时sudo chkconfig --list httpd,我得到

httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
Run Code Online (Sandbox Code Playgroud)

我认为这是运行命令的结果

sudo chkconfig httpd on
sudo chkconfig --levels 235 httpd on
sudo chkconfig --levels 345 httpd on
Run Code Online (Sandbox Code Playgroud)

在我的配置脚本中正确配置这个东西的不同尝试。我没有使用 Puppet 或 Chef,我也真的不想使用。我在另一台主机上运行了这个,但在第二台主机上它似乎由于某种原因停止工作。

手动启动服务sudo service httpd start工作正常,但只要我这样做,vagrant halt && vagrant up或者vagrant reload当虚拟机恢复时服务将不会启动。

令人沮丧的是,我以完全相同的方式配置的 mysqld 服务在启动时完全正常。

我的 /var/log/httpd/error_log 是这样说的:

[Thu Apr 17 09:31:09 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Apr 17 09:31:09 …
Run Code Online (Sandbox Code Playgroud)

startup httpd centos vagrant

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

如何以特定用户而不是任何人的身份运行 HTTPD?

目前,top向我展示了几乎所有httpd进程都由nobody. “几乎”,因为其中 2 个由root.

如果我有用户说:dartagnan, porthos, aramis,athos作为上述用户分别运行 httpd ,我如何才能做到这一点?

我希望在我跑步时看到这样的事情top

PID 用户命令
第1234回
12 端口 /usr/local/apache/bin/httpd -k start -DSSL
342 aramis /usr/local/apache/bin/httpd -k 开始 -DSSL
214 athos /usr/local/apache/bin/httpd -k start -DSSL 

============>这是我目前有什么我DONT喜欢看:

PID 用户命令
第1234回
12 没有人 /usr/local/apache/bin/httpd -k 开始 -DSSL
第342话
第214回 
244 root /usr/local/apache/bin/httpd -k start -DSSL 
334 root /usr/local/apache/bin/httpd -k start -DSSL 

linux php redhat httpd apache-2.2

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

Apache 意外关闭

我必须说,我不是设置服务器的人,而是负责查明目前正在发生的事情的可怜的 sap。我对apache和linux只有粗略的了解,所以请多多包涵...

问题

我们的 apache 服务器关闭(主要是在夜间)并且无法恢复并重新启动,而没有任何人实际告诉它。

据我所知,这里有趣的是 apache 错误日志中的以下行:

[Wed Apr 15 03:43:02.114879 2015] [mpm_prefork:notice] [pid 25778] AH00171: Graceful restart requested, doing restart
Run Code Online (Sandbox Code Playgroud)

之后是一个长的堆栈跟踪,这是前几行:

*** Error in `/usr/sbin/httpd': free(): invalid pointer: 0x00007f581d5c13c0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7d19d)[0x7f583b69519d]
/etc/httpd/modules/libphp5.so(php_module_shutdown+0x2b)[0x7f58301d255b]
/etc/httpd/modules/libphp5.so(php_module_shutdown_wrapper+0x9)[0x7f58301d2619]
[...]
Run Code Online (Sandbox Code Playgroud)

回溯持续了一段时间,但有趣的是,在这之间,Error in /usr/sbin/httpd [...]重复了 5 次,直到最后一条消息

[Wed Apr 15 03:43:02.269626 2015] [core:notice] [pid 25778] AH00060: seg fault or similar nasty error detected in the parent process
Run Code Online (Sandbox Code Playgroud)

下一条消息是在我再次启动服务器的第二天:

[Wed Apr 15 08:14:46.200884 2015] [core:notice] [pid …
Run Code Online (Sandbox Code Playgroud)

httpd centos apache-2.4

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

httpd 错误日志中有许多优雅的重启?

我们的服务器宕机了,我们重新启动了服务(nginx & httpd),当我查看日志时,我发现这些行,有这么多Graceful restart requested, doing restart行,怎么了?我有 100 行如下

[Tue Nov 10 03:35:12.421652 2015] [mpm_prefork:notice] [pid 60224] AH00163: Apache/2.4.6 (CentOS) PHP/5.6.7 mod_apreq2-20090110/2.8.0 mod_perl/2.0.9dev Perl/v5.16.3 configured -- resuming normal operations
[Tue Nov 10 03:35:12.421669 2015] [core:notice] [pid 60224] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
JPEG datastream contains no image
JPEG datastream contains no image
JPEG datastream contains no image
Empty input file
[Wed Nov 11 03:37:09.103375 2015] [mpm_prefork:notice] [pid 60224] AH00171: Graceful restart requested, doing restart
[Wed Nov 11 …
Run Code Online (Sandbox Code Playgroud)

linux httpd centos ddos unexpected-shutdown

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