Articles of linux

apache服务器需要很长时间才能与sslbuild立连接

我正在运行Ubuntu 14.04的apache-2.4.7,我的服务器上有2个内核,2GB内存。 我有我的网站上启用和激活ssl。 我通常会向用户推送通知,所以有时可能有20到200个用户在20秒内访问该网站。 问题是,当我推送通知给用户,或者当我有很大的stream量时,服务器响应非常缓慢build立一个连接,我检查了CPU和内存使用情况,他们都在低于20%高峰时段。 我从同一台服务器上的json文件中读取数据到我的网站,还有一些mysql查询。 htop命令,当我在网站上有200名在线用户时,Google Analytics声称

Windows和Linux之间的IP多播

我们的团队正在为我们的networking开发linux / windows应用程序,这些应用程序正在通过多播进行对话。 当我们在networking上只有linux的时候,我们已经开始工作了,但是最近我们在循环中添加了一些windows机器,并且无法在操作系统之间进行通信。 所有3台Windows机器都可以互相通话,所有Linux机器(CentOS,RHEL和Ubuntu的组合)都可以与对方通话。 所有通信超过227.0.0.1,端口11052,以及在同一个networksubnet上的所有计算机。 但是linux不能听到窗口,反之亦然。 我们用几种不同的组播testing器testing了我们的软件,最普遍的是mctester 。 我们已经validation了Windows和Linux应用程序都可以工作,但是我们遇到了同样的问题。 我们甚至有一些运行linux虚拟机的windows机器,甚至他们甚至不能通过多播与对方进行对话。 我们在Windows和Linux上都有其他的应用程序,可以通过UDP(单播)成功地进行通信。 有什么特别的,我们需要做的多播,我们不必做的UDP? 我们不得不在Linux上启用组播路由,但有没有Windows的设置?

打印机重启后停止工作

三星打印机驱动程序安装问题。 简而言之: 一个瘦客户机(OS Suse Linux) 一台usb打印机(三星ml 1640) 安装特定的制造商驱动程序后,打印机工作完美,除了重新启动后,打印机本身停止工作。 经过一番调查后,我发现安装过程将一些文件放在/ usr / lib / cups / filter下,这是一个只读目录。 我尝试通过chmod 655 -R /usr/lib/cups/filter设置适当的权限,但无济于事。 这听起来正确吗? 我的意思是瘦客户端当然是build立在无盘的情况下,一切都保存下来,然后在重新启动后消失,但这意味着什么都不能安装。 这听起来很奇怪,因为tar.gz格式的制造商驱动程序在重新启动后(位置: /home/admin/Desktop )仍然存在,但在重新启动后, /usr/lib/cups/filter添加的任何内容都会被取消。 谁能帮我? 任何意见将不胜感激。 谢谢

减lessvServer上的inode使用率

在我的Linux vServer上,inode是有限制的(最大值是250k)。 我发现一个Yii2(PHP,MySQL,composer php)安装需要相当多的inode。 inode的数量大致是文件和目录的数量。 在当前目录及其子目录中使用的inode数量可以通过 find . -xdev -printf '%h\n' | sort | uniq -c | awk '{total = total + $1}END{print total}' 我的Yii2项目平均约3万个inode。 ./runtime或./web/images文件夹中./web/images文件./web/images 。 大部分inode都用在./vendor目录中。 所以Yii2项目的数量限制在8个,对我来说太低了。 我能做些什么来减lessYii2项目的inode使用率?

当LSB停止时,在屏幕上运行命令

我试图让一个Bukkit服务器作为一个服务在屏幕上运行,从一个LSB​​脚本启动,但我不能让它停止正确。 我基本上希望它做的是重新挂接屏幕并发送一个“停止”命令到服务器控制台,所以它保存了一切,而不是被杀死,但“sudo服务bukkit停止”似乎没有做任何事情与我的脚本。 如果我在terminal重新连接屏幕,并在“Bukkit”控制台上input“stop”,它似乎仍然停止。 任何人都知道问题是什么? 我的init.d脚本如下… #!/bin/bash ### BEGIN INIT INFO # Provides: scriptname # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO cd /etc/minecraftbukkit case $1 in […]

交通pipe制

美好的一天! 我在ubuntu 14.04上使用stream量控制来调整5Mbit / sec速率的带宽。 过了一段时间,我想改变这个速度。 正如我所理解的,我可以用“更改”命令来做到这一点。 但是我不确定它是如何实现的。 由于我正在使用TBF,缓冲区中有一些令牌。 如果我改变缓冲器的速率? 它是否存储了之前定型的令牌,或者在更改后没有任何令牌? 以下是一些使用示例: #!/bin/bash tc qdisc add dev eth0 root tbf rate 5Mbit latency 30ms buffer 1540 sleep 3; tc qdisc change dev eth0 root tbf rate 8Mbit latency 30ms buffer 1540 在我看来,如果变化之间的延迟很小,这可能是很重要的。 或者我错了? 先谢谢你

是否可以扩展由设备映射器设置的精简configuration池的数据设备?

TL; DR: 如果我不是直接使用LVM,而是直接使用设备映射器,那么如何扩展精简池? 详细版本: 据我所知,当我们通过dmsetup创build一个精简池时,我们可以设置一个low_water_mark; 一旦达到水印,就会发送一个dmevent,守卫守护进程可以立即扩展池。 但是,我无法find办法,以微不足道的方式执行这样的任务; 我不知道如何实现。 此外,我深入研究了dm-thin.c并发现了一个名为maybe_resize_data_dev的函数r = dm_pool_resize_data_dev(pool->pmd, data_size)如果剩余空间不足,将会通过r = dm_pool_resize_data_dev(pool->pmd, data_size)放大数据设备。 然而与此同时,Device Mapper本身阻止你通过validation数据设备的状态来做到这一点: if (le32_to_cpu(disk_super->data_block_size) != pmd->data_block_size) { /* Verify the data block size hasn't changed */ if (le32_to_cpu(disk_super->data_block_size) != pmd->data_block_size) { DMERR("changing the data block size (from %u to %llu) is not supported", le32_to_cpu(disk_super->data_block_size), (unsigned long long)pmd->data_block_size); r = -EINVAL; […]

ssh -Y使用Cygwin / X而不需要xterm

我从Windows台式计算机pipe理大型Linux服务器/台式机,希望通过不使用xterm for X Forwarding来降低此任务的复杂性。 这是我的设置: 我正在使用卓越的ConsoleZ来pipe理我的ssh连接。 我通过在设置中的“Shell:”字段中input以下内容来设置每个选项卡: C:\cygwin\bin\ssh.exe user@server1 当我想从Linux机器上运行一个graphics应用程序时,我执行以下操作: 运行startxwin &从我的本地cygwin bash 右键单击X图标并启动“xterm” 在xterm中运行ssh -Y user@server1 然后我可以从Linux机器上启动xeyes或其他任何东西 我想要做的是没有每次我想在Cygwin / X上运行一个graphics应用程序时都不得不打开xterm。 理想情况下,ConsoleZ中的“选项卡式”连接只需在“Shell:”字段中使用C:\cygwin\bin\ssh.exe -Y user@server1 。 如果我尝试这一切,我得到的是“错误:无法打开显示:”。 任何关于如何让我的生活更轻松的build议都会被感激地接受(即使我想要,我也不能使用Linux或Mac桌面机器)。

添加mfavalidation码到ssh命令?

我试图使用shell脚本自动化login过程。 我有MFA +酒吧密钥authentication工作。 但是,我坚持如何将validation代码作为parameter passing给ssh命令。 我试过通过SSH页面和东西,但无法find。 例如:ssh [email protected] -someoption verticationcode 或者如果有什么方法。 我很乐意使用它。

红帽卫星+降级程序 – 如何

我使用RHN – 红帽卫星版本5.x来安装勘误补丁:(在Linux版本6.x)glibc-2.12-1.166.el6_7.7.x86_64 而我的linux上的修复补丁是: glibc-devel-2.12-1.166.el6_7.3.x86_64 与RHN补丁安装成功。 但是现在我想回到以前的补丁版本 – glibc-devel-2.12-1.166.el6_7.3.x86_64 请告知我如何执行与RHN的降级过程? 执行降级所需的步骤是什么? 从我的linux机器上: # yum history info | tail -5 Updated glibc-devel-2.12-1.166.el6_7.3.x86_64 @rhel-x86_64-server-6 Update 2.12-1.166.el6_7.7.x86_64 @rhel-x86_64-server-6 Updated glibc-headers-2.12-1.166.el6_7.3.x86_64 @rhel-x86_64-server-6 Update 2.12-1.166.el6_7.7.x86_64 @rhel-x86_64-server-6 history info