我有 2 个 LAMP Web 服务器,它们经常用完交换空间(请参阅附加的顶部屏幕截图)。
Apache的设置如下:
<IfModule prefork.c> 启动服务器 64 最小备用服务器 64 最大备用服务器 128 服务器限制 256 第 256 章 MaxRequestsPerChild 4096 </IfModule>
PHP 的资源限制是:
最大执行时间 = 30 最大输入时间 = 30 内存限制 = 80M
我是这样的服务器管理员的新手(我是一名开发人员);我可以调整什么来防止交换?
我按照本指南的第 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)
我不知道这意味着什么,或者你可能需要什么信息来帮助我解决这个问题。
我有一个 SLES 10 Linux 服务器,有时它被 Apache 最大化到 100% CPU。
随着ps ax我所看到的,阿帕奇已经催生〜50个Apache进程。
例如,该ps命令可以告诉我这些 Apache 进程中的每一个都在做什么吗?
或者也许是其他一些方法,以便我可以查看触发问题的网页?
我在 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) 我正在尝试设置 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)
我将如何进行?非常感谢!
我有一个签名的 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) 我在配置 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) 目前,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
我必须说,我不是设置服务器的人,而是负责查明目前正在发生的事情的可怜的 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) 我们的服务器宕机了,我们重新启动了服务(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) httpd ×10
apache-2.2 ×5
centos ×4
linux ×4
ssl ×3
apache-2.4 ×1
ddos ×1
httpd.conf ×1
nginx ×1
openssl ×1
php ×1
redhat ×1
startup ×1
swap ×1
tls ×1
vagrant ×1
web-server ×1