我想分析mysql流量。现在,所有 mysql 请求都发送到 MySQL unix 套接字:
unix 2 [ ACC ] STREAM LISTENING 3734388 15304/mysqld /var/run/mysqld/mysqld.sock
Run Code Online (Sandbox Code Playgroud)
我正在尝试禁用该套接字以强制 MySQL 在回送上使用网络套接字。我尝试注释掉和文件socket中的所有指令并重新启动 MySQL,但没有任何区别。my.cnfdebian.cnf
如何禁用 MySQL unix 套接字以通过网络强制 MySQL?
其他信息:我运行MySQL 5.1上ubuntu 10.04。
问题的精确度
由于很多人建议启用网络套接字,我想通过指出绑定地址已经启用bind-address = 127.0.0.1并且侦听连接可用来澄清我的问题:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 15601/mysqld
Run Code Online (Sandbox Code Playgroud)
我仍然没有看到127.0.0.1:3306来自我的 web 应用程序(Drupal 网站)的连接尝试。
更新了答案
问题似乎确实来自mysqliDrupal 使用的连接器(.ht_config.php对于那些感兴趣的人)。它被设置为: mysqli://drupal:***@localhost/drupal,更改localhost以127.0.0.1修复问题(即 Drupal 现在正在连接到网络套接字)。
使用nginx 1.2.1我可以使用add_header以下方法添加多个标头:
server {
listen 80;
server_name localhost;
root /var/www;
add_header Name1 Value1; <=== HERE
add_header Name2 Value2; <=== HERE
location / {
echo "Nginx localhost site";
}
}
Run Code Online (Sandbox Code Playgroud)
结果
GET /
HTTP/1.1 200 OK
Name1: Value1
Name2: Value2
Run Code Online (Sandbox Code Playgroud)
但是,我一使用add_header里面的指令location,下面的其他add_header指令就会server被忽略
server {
listen 80;
server_name localhost;
root /var/www;
add_header Name1 Value1; <=== HERE
add_header Name2 Value2; <=== HERE
location / {
add_header Name3 Value3; <=== HERE
add_header Name4 …Run Code Online (Sandbox Code Playgroud) 我们正在运行一个执行财务建模的大型 Drupal 网站。考虑到 apache 使用的内存超时增加而 apache 进程数保持稳定,我们似乎遇到了某种内存泄漏:


我们知道内存问题来自 apache/PHP,因为每当我们发出/etc/init.d/httpd reload内存使用量下降(见上面的截图和下面的 CLI 输出):
在 httpd 重新加载之前
美元免费
缓存的已用空闲共享缓冲区总数
内存:49447692 45926468 3521224 0 191100 22609728
-/+ 缓冲区/缓存:23125640 26322052
掉期:2097144 536552 1560592
httpd重新加载后
美元免费
缓存的已用空闲共享缓冲区总数
电话:49447692 28905752 20541940 0 191360 22598428
-/+ 缓冲区/缓存:6115964 43331728
掉期:2097144 536552 1560592
每个 apache 线程都分配了一个memory_limit512MB的 PHP ,这解释了高内存使用量与低请求量的区别,以及max_execution_time120 秒的时间,它应该终止执行时间更长的线程,因此应该防止内存使用量的不断增长。看到。
问:我们如何调查导致此内存泄漏的原因?
理想情况下,我正在寻找可以在系统上执行的故障排除步骤,而不必打扰开发团队。
附加信息:
OS: RHEL 5.6
PHP: 5.3
Drupal: 6.x
MySQL: 5.6
Run Code Online (Sandbox Code Playgroud)
仅供参考,我们知道我们正在单独调查的交换问题,与我们在交换开始发生之前观察到的内存泄漏无关。
我需要在 Web 服务器级别将动态内容包含到静态页面中。到目前为止,我发现的 2 个选项是Server Side Include (SSI)和Edge Side Include (ESI)。
虽然起源SSI似乎古老而晦涩(来自伊利诺伊大学 95 的缓存页面似乎是参考,显然它来自NCSA httpd曾经为大约 95% 的网络提供动力的网络服务器),但ESI似乎更近更近和令人欣喜(w3 2001 年的规范,主要由 Akamai 的人编写)。
另外,我一直在听说Varnish+ESI并且我想知道这是否应该是要走的路。但是,我已经有了一个设置nginx,它只支持SSI,并且希望遵循该KISS原则并Varnish尽可能避免使用。
对于我的直接用例,即在每个页面的顶部包含一个动态用户栏,我相信SSI可以完成这项工作。但是我担心随着我的网站的增长,我将需要仅支持的功能,ESI这将迫使我重新设计所有内容,这让我想到了我的问题(最终读者说):
哪些不支持的主要功能SSI会让您选择ESI(反之亦然)?
我正在与passNginx 1.2.4结合使用并尝试将自定义参数传递给. 以下是我目前找到的选项:PHP-FPM 5.4.8fastcgiPHP
使用env指令设置环境变量 innginx并使用getenv()或$_ENVfrom获取它PHP。问题是env只在main上下文中操作,而我需要在上下文中设置参数server。
使用fastcgi_param专为此设计的指令。
我曾尝试使用更改某些参数的值fastcgi_param但未成功:
nginx:
fastcgi_param PATH_INFO "/var/tmp";
Run Code Online (Sandbox Code Playgroud)
PHP:
我检查了我能找到的所有预定义数组:
echo '<pre>';
echo "\n".'$GLOBALS'."\n"; var_dump($GLOBALS);
echo "\n".'$_SERVER'."\n"; var_dump($_SERVER);
echo "\n".'$_GET'."\n"; var_dump($_GET);
echo "\n".'$_POST'."\n"; var_dump($_POST);
echo "\n".'$_FILES'."\n"; var_dump($_FILES);
echo "\n".'$_REQUEST'."\n"; var_dump($_REQUEST);
echo "\n".'$_SESSION'."\n"; var_dump($_SESSION);
echo "\n".'$_ENV'."\n"; var_dump($_ENV);
echo "\n".'$_COOKIE'."\n"; var_dump($_COOKIE);
echo "\n".'$php_errormsg'."\n"; var_dump($php_errormsg);
echo "\n".'$HTTP_RAW_POST_DATA'."\n"; var_dump($HTTP_RAW_POST_DATA);
echo "\n".'$http_response_header'."\n"; var_dump($http_response_header); …Run Code Online (Sandbox Code Playgroud) 问题描述:
我在/etc/sudoers文件中输入了一个错字,从而破坏了它。现在我不能再使用任何 sudo 命令,因为下面的错误被抛出。因此我无法修复我的 sudoers 文件并且被有效地卡住了。
$ sudo nano /etc/sudoers
>>> /etc/sudoers: syntax error near line 39 <<<
sudo: parse error in /etc/sudoers near line 39
sudo: no valid sudoers sources found, quitting
Run Code Online (Sandbox Code Playgroud)
我发现很少有解决方案说我应该启动到恢复模式(如下所示),我显然想避免这种情况。
Ubuntu :我的 sudoers 文件出错了,我该如何修复?
问题:
- 有没有其他方法可以在不重新启动 ubuntu 的情况下修复它?
- 如果在修改 sudoers 文件时很容易将自己锁定在 sudo 之外(每个人都会打错字),为什么不直接从内存中读取 sudoers 配置而不是从文件中读取?将有一个命令(例如 sudo-load)在将配置加载到内存之前确保语法正确,从而避免此类问题。
解决方案:
似乎有两种方法可以恢复它:
- 如果您有 root 密码,您可以简单地发出“su”,然后编辑文件
- 如果您没有 root 密码,您需要重新启动到单用户模式
我希望slappasswd产生一个固定的哈希值,但似乎输出是随机的,因为对于相同的输入密码,我从来没有得到相同的输出:
$ slappasswd -s secret
{SSHA}mCXsPZkfgQYZr2mKHpy5Iav+2S2XlVU3
$ slappasswd -s secret
{SSHA}62oXsalJBuopYfHhi6hGp6AESuWNIVnd
$ slappasswd -s secret
{SSHA}0Ulc8+ugMi3NbTtWnclOFW1LKCqRdsT8
Run Code Online (Sandbox Code Playgroud)
在身份验证期间,slapd如何知道如何以相同的方式随机化提供的密码的哈希值,以便它可以匹配最初定义的密码?
我在导入用户ldapadd和ldif文件时遇到问题。我得到的错误是:
ldap_add: Constraint violation (19)
additional info: structuralObjectClass: no user modification allowed
Run Code Online (Sandbox Code Playgroud)
导入的用户都是ou=People,dc=example,dc=org. LDAP 服务器已包含此基本 DN。
该/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif文件包含以下 ACL 条目:
olcAccess: {2}to dn.base="ou=People,dc=example,dc=org" attrs=children by gr
oup.exact="cn=Manager,ou=Roles,dc=example,dc=org" manage
Run Code Online (Sandbox Code Playgroud)
该ldif文件被导入如下:
ldapadd -f import.ldif -xv -D "cn=drupal,ou=Apps,dc=example,dc=org" -h localhost -W
Run Code Online (Sandbox Code Playgroud)
该cn=drupal,ou=Apps[...]条目是 的成员,cn=Manager,ou=Roles,dc=example,dc=org因此它应该具有足够的写入权限(因为管理是可用的最高权限级别)。
当我发出ldapadd命令时,导入在第一个ldif条目时失败。完整的命令输出是:
add objectClass:
top
person
inetOrgPerson
add uid:
John.Merrell
add mail:
john.merrell@example.org
add cn:
John D Merrell
add structuralObjectClass:
inetOrgPerson
add …Run Code Online (Sandbox Code Playgroud) 我apache_在 munin 节点上启用了插件:
ln -sv /usr/share/munin/plugins/apache_* /etc/munin/plugins/
用service munin-node restart这里重新启动节点后,我得到了错误:
$ munin-node-configure --suggest 2>/dev/null | grep "apache\|Plugin\|------"
Plugin | Used | Suggestions
------ | ---- | -----------
apache_accesses | yes | no [apache server-status not found. check if mod_status is enabled]
apache_processes | yes | no [apache server-status not found. check if mod_status is enabled]
apache_volume | yes | no [apache server-status not found. check if mod_status is enabled]
Run Code Online (Sandbox Code Playgroud)
但是mod_status已经启用:
$ a2enmod status
Module …Run Code Online (Sandbox Code Playgroud) 我想在不格式化硬盘的情况下将 ext4 分区转换为 ext3 分区。
这是可能的并推荐吗?
nginx ×3
ubuntu ×3
ubuntu-10.04 ×3
apache-2.2 ×2
linux ×2
openldap ×2
php ×2
cache ×1
connection ×1
drupal ×1
ext3 ×1
ext4 ×1
fastcgi ×1
http-headers ×1
ldap ×1
ldif ×1
localhost ×1
memory ×1
mod-rewrite ×1
munin ×1
mysql ×1
partition ×1
php-fpm ×1
socket ×1
sudo ×1
varnish ×1
web-server ×1