Articles of linux

Mysql无法启动 – 无法find有效的表空间文件

我的mysql服务目前无法启动的错误 InnoDB:找不到'wowcher / temp_import'的有效表空间文件。 我想我知道问题是什么。 我有一个PHP脚本将CSV文件导入临时表,然后将信息分解到正确的相关表。 然后,它会擦除​​脚本末尾的临时表,但由于某种原因,它在完成和擦除表之前已经出错了。 所以林相当肯定临时表是巨大的,现在。 我无法启动mysql服务时如何擦除它? 还是其他的东西导致了这个问题呢?

引入负载平衡器时,Apache插槽耗尽

我有一个Web应用程序,看起来像这样: WEB SERVER (PHP, Apache) -> MYSQL NODE 这个工作完全没有任何问题,并已经做了很长一段时间。 但是,当我引入一个负载平衡器(我已经使用HAProxy和ProxySQL,两者具有相同的结果行为)来pipe理对我的数据库集群的请求时,我遇到了Apache拖延的一些问题。 负载均衡器与apache一起安装在Web服务器上,并通过系统的环回设备访问。 明确地说,Web应用程序将数据库调用设置为127.0.0.1:3306 ,这是负载平衡器侦听的地方。 为了简化事情,这是我的新设置: [WEB SERVER (PHP, Apache) -> LOAD BALANCER] -> MYSQL NODE 当负荷变大时,这就是我所看到的: PROMPT~] apachectl status … … WWWWWWWWWWWWWWWWWRWWRRWWWWWWWWWWWWWRWRWWWWWWWWWWRWWWWWRWWWWWWWWR WWWWWWWWWWWWWWWWWWWWWWWWWWRWWRWWWWWWWWRWWWWWWWWWWCWWWWWRWWWWWWWW WWWWWWWWRWWWWRWRWWRRWWWCWWWRWWWWWWWWRWWWWWWWWWWWWWWRWWWRWWWWWWWW WWWWWWWWWWRWRWWCWWWWWWRRWRWWWWRCWWWWWWWWWWWRWWWWWWWRWRWWWW 多个负载平衡器发生这一事实表明,这个问题是更一般的,可能与操作系统有关。 我看不到由Apache,负载均衡器或数据库报告的错误。 操作系统指标,如CPU和内存看起来没问题。 在这个问题出现的时候,我确实看到了下面的情况: TCP套接字的数量 Apache进程的数量 我觉得我可能在这里错过了一些东西,并会感谢任何build议。 谢谢

如何在Amazon Linux中使用scp chroot帐户?

我需要安装一个scp服务器。 供应商将通过scp(而不是sftp)将file upload到该服务器。 虽然configuration容易SFTP,我真的很难与SCP。 网上有其他操作系统的一些说明和操作方法。 我试图按照这些,但我总是收到一个错误消息: scp phpinfo.php [email protected]:/subdir/ /home/abc/bin/bash: Permission denied lost connection …在日志中没有进一步的提示: Oct 3 23:16:13 ip-10-2-4-121 sshd[30945]: Accepted password for abc from 1.2.3.4 port 57248 ssh2 Oct 3 23:16:13 ip-10-2-4-121 sshd[30945]: pam_unix(sshd:session): session opened for user abc by (uid=0) Oct 3 23:16:13 ip-10-2-4-121 sshd[30945]: Received disconnect from 1.2.3.4 port 57248:11: disconnected by […]

如何在opensuse Leap 42.3上正确安装redis

我有一个很大的问题。 我在Owncloud中是新的。 我已经安装了自己的云10.0.3(最新),但在pipe理员面板我有几个警告。 所以即时通讯尝试修复这些。 其中之一是: 应将事务性文件lockingconfiguration为使用基于内存的locking,而不是默认的基于数据库的慢速locking 所以,我读了owncloud手册> https://doc.owncloud.org/server/latest/admin_manual/configuration/server/caching_configuration.html 接下来,他们说我必须安装一个redis模块..现在我站在墙前。 也许我会写我到现在为止所做的。 但是我认为最好的方法是从开始的时候有人向我展示如何在opensuse上安装redis。 通过以下方式安装Redis: wget http://download.redis.io/releases/redis-4.0.2.tar.gz tar xzf redis-4.0.2.tar.gz cd redis-4.0.2 make make install 加上php7-redis和extension = redis.so 创build文件:/etc/redis/redis.conf supervised systemd and then dir /var/lib/redis 我有一个入口Owncloudconfiguration添加: This example config.php configuration uses Redis for the local server cache: 'memcache.local' => '\OC\Memcache\Redis', 'redis' => [ 'host' => 'localhost', 'port' => […]

如何确定什么是安排一个工作来运行或启动它在Linux / Debian中?

我search了一下,发现了类似的问题,但是他们不回答,或者我不理解。 我们有一个计划使用rsync进行备份的linux文件服务器。 我注意到我们的备份驱动器正在使用比应该更多的存储空间,所以我需要修改我的备份策略。 我可以发誓,这个工作是由cronpipe理的,但是除了一些我假设的anacron调用都是由系统调度的,我没有发现任何cronjobs调度,因为我从来没有设置过。 这让我非常困惑,我不确定工作是如何运行的。 在此之后,我发出了一个“ps aux | grep rsync”来检查它是否正在运行,并且我有多个rsync问题让我更加困惑。 Rsync实际上现在不应该正在运行,因为这是一天的中间,这是指向我需要解决的另一个问题,但现在我只需要找出它甚至被称为从哪里。 以下是ps aux调用的条目。 有什么办法以某种方式确定什么是调用rsync开始? 我不是问可执行文件在哪里,或者是在什么用户的执行下,而是在执行它的是什么进程。 root@nmpmain:/etc/cron.daily# ps aux | grep rsync root 17318 0.0 0.0 4336 580 ? Ss 10:00 0:00 /bin/sh -c rsync -rvulpEAXogt /nmp /backup root 17319 2.2 0.0 51156 7244 ? S 10:00 3:35 rsync -rvulpEAXogt /nmp /backup root 17320 0.0 0.0 […]

Openvpn在旧的设置上设置新的CA.cert,服务器密钥

我错误地删除了ca.cert,server.key和dh2048.perm的密钥文件夹。 我有多个客户端位于仍然连接着服务器的各个地方。 我想生成新的一套ca.cert,server.key和dh2048.perm和客户端密钥,而不会影响已经连接到服务器的客户端。 什么可能是可行的解决scheme? 是否可以继续使用build-server-key,build-ca和build-dh来为新的客户端部署相同的服务器,还是需要完全不同的设置? 我不知道多less年龄的客户仍然连接! 提前致谢!

将CfEngine客户端更改为新的中心(策略服务器)IP地址

我们正在迁移cfengine服务器到一个新的。 旧的cfengine服务器仍然存在。 我试图把客户端指向新服务器,而不是旧服务器。 我如何将客户指向新的IP? 我似乎没有find手册中的选项。 CfEngine和Cfagent版本2.3 注意:没有cf-agent,而是cfagent(链接到/ usr / sbin / cfagent)。 它没有–bootstrap或–policy-server。 也没有policy_server.dat文件。 这两本手册是不同的。 https://linux.die.net/man/8/cfagent https://linux.die.net/man/8/cf-agent 在CfEngine服务器中有这些文件,我试图将IPreplace为新的服务器IP,并希望这将足够。 但我认为必须有一种方法来更改客户端,而不是从服务器。 grep "1.1.1.1" /var/cfengine/ /var/cfengine/inputs/update.conf:123: policyhost = ( 1.1.1.1 ) /var/cfengine/inputs/cfservd.conf:123: cfengine_server = ( 1.1.1.1 ) /var/cfengine/inputs/cfagentd.conf:123: cfserverip = ( 1.1.1.1 )

mdadm – 将多个md成员从RAID 5转换为RAID 6

我一直在寻找资源来pipe理使用mdadm将几个md成员从RAID 5迁移到RAID 6。 使用这个方便的指南, http: //www.ewams.net/?date=2013/05/02&view =Converting_RAID5_to_RAID6_in_mdadm ,我可以跟踪如何将一个成员从RAID 5转换到RAID 6.(详情来自链接添加下面的情况下网站变得不可用) 单一成员从RAID 5迁移到RAID6: 第1步:使用cat /proc/mdstat查看mdadm状态,并使用mdadm –detail /dev/md0查看详细信息mdadm –detail /dev/md0 第2步:如果运行正常,请添加额外的磁盘以覆盖RAID 6双奇偶校验要求,其中包括mdadm –grow /dev/md0 –level=6 –raid-devices=[number_of_drives] backup-file=/root/raid5backup 第3步:查看mdadm –detail /dev/md0以validationRAID正在重build。 重build后再次使用相同的命令,以确保所有驱动器同步和健康。 我的问题是这个。 如果我已将我的分区从根分区分隔到md0(交换)和md1(/),如“高级安装”中的“Ubuntu服务器指南”所示,如何将md0和md1成员转换为RAID 6? 可能吗?

打开了太多的httpd进程

所以我已经阅读了所有与我的问题有关的问题,但是找不到任何帮助。 背景:我有一个服务于其他网站的应用程序(网站),并为网站添加了一些HTML,每个网站都对我的服务器进行简单的AJAX调用,当页面加载时,有时可能会发送5-如果他们在该页面上有几个我的HTML,那么每个网页的请求数为10。 老问题:现在我有大约800个网站,每次页面加载它发送一个AJAX请求到我的服务器(非常简单的请求 – TTLB = 500毫秒),但我收到了很多,你可以明白,每一秒我得到10-40个请求。 似乎没有太多,但我的服务器开始挣扎,没有任何东西,我有EC2 t2大,我的CPU使用率可以达到60%,在高峰时间和以上。 解决scheme:我已经修复了代码,它现在只发送1个AJAX请求,每分钟最less发送一次,每1分钟从1个IP获得1个请求,比从1个IP刷新每个页面5-10个好很多。 新问题:如果网站在我的应用程序中更改设置,只能得到新的代码,电子邮件将很快发送,但直到比(不是每个人都有固定的代码),我需要假设我没有解决这个问题,但不会变得更糟(或者变得更糟糕)。 我试过的:看了top命令之后,我发现这个过程看起来好像什么也没有做,闲着大约1分钟,然后被删除,我知道这个脚本大约需要500ms才能完成(甚至更less)当进程闲置时,每个进程的CPU使用率为0.3%,当你有20-50个进程(其中一些实际上正在做的东西,而不是占用2-7%的CPU),这是很多,所以我做了这个AJAX返回的结尾: header('Connection: close'); header('Content-Length: '.ob_get_length()); ob_end_flush(); ob_flush(); flush(); $cpid = posix_getpid(); $result = posix_kill($cpid, 9); 我发送我的回应,并删除了PHP脚本运行的过程中,我的CPU下降到18%,同时达到60%,仍然是18%,不低于10%,所以我认为一切都是仍然完成,没有太多的这些AJAX请求的进程。 但事实并非如此,我很高兴,我testing了我的应用程序,发现有些代码没有运行(更长的代码发送http请求并在文件中做事),我没有testing它,删除上面的代码块和问题消失了,所以我假设每个进程都不处理单个请求,所以我不能立即杀死这个进程。 我的想法是:我可以尝试使用configuration并设置进程,以便每个进程都可以处理单个连接,或者我可以设置less量的最大进程来打开,并且不会打开太多的进程,这些testing中的一些将帮助我,并且会解决我的问题,但是从长远来看,这也可能会伤害我,或者我不会考虑这个问题。 我知道这是不理想的玩这些configuration,但它看起来像我没有任何更好的主意(除了升级我的服务器,但它看起来像我不需要浪费钱)。 我该怎么办? 你知道更好的解决scheme吗? 我的一个想法会起作用吗? 我不知道我需要分享什么信息,但让我知道,所以我可以发布。

数据包的代理服务器

我希望SF的这个问题可以。 我想探索检查的机会,并可能在数据包中注入更多的信息。 目前我有一台Linux 1服务器,通过接口eth1访问互联网。 我正在考虑设置另一台Linux 2服务器,然后在这两台服务器之间build立一个VPN – 所有来自Linux 1的stream量都通过VPN传输到Linux 2,然后路由到Linux 2 eth1端口访问互联网。 之后尝试检查并在包中注入一些额外的数据。 这是正确的方向吗? Linux 1 (tun1/VPN) > Linux 2 (eth1) > Internet 我正在考虑使用OpenSWAN进行VPN。 不知道与检查/注射工具,或者如果它应该从头开始写… 所有的意见,想法是最受欢迎的。