December 17, 2010
[教程]FreeBSD下安装cacti教程(原创)
"以下配置环境为:FreeBSD8.1 Nginx0.8.54 PHP5.2.15 Mysql5.1.54-log\n一.首先配置php网站环境\n一般采用的lamp(linux,apache,php,mysql),我们这里用的是FreeBSD的系统,web用的是Nginx,平台搭建教程请参考:\n二.安装sockets扩展\n注意要选择sockets的扩展版本与您所使用的php版本一致,这里我使用的为php5.2.15版本,所以选择了php52-sockets.\n#cd /usr/ports/net/php52-sockets #make install clean\n上面的命令会产生一个sockets.so的扩展,系统会自动将一行\nextension=sockets.so\n信息添加到/usr/local/etc/php/extensions.ini 文件末尾.\n如果您确认已经安装过pdo_mysql这个扩展的话,这步可以跳过.\n#cd /usr/ports/databases/php5-pdo_mysql #make install clean\n三、安装rrdtool12\n#cd …"
December 17, 2010
FreeBSD中sysctl命令的使用
"纪录尝试向你的机器要求你机器未有的服务的connection记录 若你的机器没有跑named 而对方想要向您要求DNS的服务你会看到…\n$tail -10 /var/log/message\nohaha /kernel: Connection attempt to TCP 你的IP位置:53 from 对方IP位置:2731\n其中2731 乃是只某一个高於1024的high port …\n命令: # sysctl -w net.inet.tcp.log_in_vain=1 # sysctl -w net.inet.udp.log_in_vain=1\n不过这样只有短暂的 重开机就没有了…. 所以我们把他写成一个档案放到rc.d 之中…\n自动执行: 1.建立档案 /usr/local/etc/rc.d/# vi logstart.sh (自己取一个格式为*.sh的档案) 内容只有两行… sysctl -w net.inet.tcp.log_in_vain=1 sysctl -w net.inet.udp.log_in_vain=1\n2.更改权限 chmod 700 logstart.sh …"
December 17, 2010
sysctl命令简介
"sysctl配置和显示在/proc/sys目录中的内核参数.能够用sysctl来配置或重新配置连网功能,如IP转发、IP碎片去除连同源路由检查等。用户只需要编辑/etc/sysctl.conf文档,即可手工或自动执行由sysctl控制的功能。\n命令格式: sysctl [-n] [-e] -w variable=value sysctl [-n] [-e] -p (default /etc/sysctl.conf) sysctl [-n] [-e] -a 常用参数的意义: -w 临时改变某个指定参数的值,如 sysctl -w net.ipv4.ip_forward=1\n-a 显示任何的系统参数 -p 从指定的文档加载系统参数,如不指定即从/etc/sysctl.conf中加载 -e Use this option to ignore errors about unknown keys 假如仅仅是想临时改变某个系统参数的值,能够用两种方法来实现,例如想启用IP路由转发功能:\n#echo 1 \u0026gt; /proc/sys/net/ipv4/ip_forward #sysctl -w …"
December 17, 2010
freebsd /usr 如何加空间
"ln -s /usr/tmpbak /tmp这样你的/tmp目录就可以使用/usr分区的空间。\n1.找到不用的分區或者硬盘 2.newfs /dev/“你的分区或者硬盘” 3.mount /dev/“你的分区或者硬盘” /mnt 4.cd “你要扩大空间的目录” 5.tar cf – * |(cd /mnt ; tar xf -) 6.修改/etc/fstable ,挂載到你要擴展的目錄。 7.reboot\n在添加物理硬盘后操作:\n/stand/sysinstall\n选择configure–\u0026gt;进入下一级菜单\n选择FDisk–\u0026gt;进入下一级菜单\n选择要分区的硬盘;进而磁盘分片界面; 进行分片(create slice)操作;并保存W(write); 系统提示选择磁盘加载模式,选择”standard”\n选择Disklabel–\u0026gt;进而磁盘分区界面; C(Create)创建分区; M (M = Mount pt.)定义分区的加载点; #这步非常关键! W (write);存盘 #根据提示选择Yes,系统会调用Newfs进行分区;成功后用df -h查看可以发现新分区已经加载; # …"
December 17, 2010
FreeBSD交换分区大小的重要性
"查看交换分区大小:\n#swapinfo -m\n前天给数据库服务器添加完内存,发现系统运行不太正常,效率比较低下,vmstat 中 faults 的 system call 比较高,有点怀疑是交换分区比物理内存少的缘故(交换分区还是原来的6G内存的大小)。再次温习 手册:\nThe kernel’s VM paging algorithms are tuned to perform best when the swap partition is at least two times the size of main memory. Configuring too little swap can lead to inefficiencies in the VM page scanning code and might create issues later if more memory is added.\n后将交换区增加到物理内存的两倍,虽然效率没有完全恢复,但目前看来还是好了很多。(由于是现有系统,只能通过添加 Swapfiles 的方式增加交换分区,但基于 Swapfiles 方式对性能 …"
December 17, 2010
FreeBSD下添加交换分区大小
"11.14 添加交换空间 不管您计划得如何好,有时候系统并不像您所期待的那样运行。 如果您发现需要更多的交换空间,添加它很简单。 有三种方法增加交换空间:添加一块新的硬盘驱动器、通过 NFS 使用交换空间和在一个现有的分区上创建一个交换文件。\n要了解关于如何加密交换区, 相关配置, 以及为什么要这样做, 请参阅手册的 第 18.17 节。\n11.14.1 在新的硬盘驱动器上使用交换空间\n这是添加交换空间最好的方法, 当然为了达到这个目的需要添加一块硬盘。 毕竟您总是可以使用另一块磁盘。如果能这么做, 重新阅读一下手册中关于交换空间的 第 11.2 节 来了解如何最优地安排交换空间。\n11.14.2 通过 NFS 交换\n除非没有可以用作交换空间的本地硬盘时, 否则不推荐您使用 NFS 来作为交换空间使用。 NFS 交换会受到可用网络带宽限制并且增加 NFS 服务器的负担。\n11.14.3 交换文件\n您可以创建一个指定大小的文件用来当作交换文件。 在我们的例子中我们将会使用叫做 /usr/swap0 的 64MB 大小的文件。当然您也可以使用任何您所希望的名字。\n例 11-1. …"
December 17, 2010
freebsd下用growfs 动态增加UFS 分区大小
"/data 不够用了,咋办?\n[root@mercury8] ~# /usr/local/etc/rc.d/nginx stop\n代码:\nStopping nginx. [root@mercury8] ~# umount /data\n[root@mercury8] ~# fdisk -BI da1\n代码:\n******* Working on device /dev/da1 ******* fdisk: Class not found 用sysinstall 的 fdisk 察看能扩展到哪个扇区:超出没关系,会提示你正确的最大值。\n引用:\nDisk name: da1 FDISK Partition Editor\nDISK Geometry: 5874 cyls/255 heads/63 sectors = 94365810 sectors (46077MB)\nOffset Size(ST) End Name PType Desc Subtype Flags\n0 63 62 – 12 unused 0\n63 94365747 94365809 da1s1 8 freebsd 165"
December 17, 2010
如何调整Linux磁盘分区的大小
"在使用linux的过程中, 有时会出现因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况.比如: 我在安装系统时给/usr/local分配器了5G的空间,但使用一段过程後发现, /usr/local最多只用到了1G.这样可以将/usr/local大小调整为1G. 空出4G留作他用.本文归纳了在不破快文件系统数据的前提下对文件系统大小进行调整的方法.这里采用的是”拆东墙, 补西墙”的方法.\n当然, 如果你的磁盘中有未分区的空闲空间, 你就不用减小某个分区的空间了.\n准备工作\n(一) 备份\n首先组好备份要更改的分区中的文件. 对磁盘的操作也许会导致数据的丢失. 开始工作之前最好将重要的数据保存到別的分区.\n(二) 获取相关信息.\n1, 运行 $ df , 查看文件系统信息. 记下你想要调整的分区对應的挂载点和设备文件.\n这一步是为了查看/usr/local对應/dev/中的哪个设备文件. 本文以/dev/hda7为例.\n2, 运行 # sudo fdisk /dev/sda . 进入fdisk , 按下p, 查看磁盘分区信息. 记下/dev/sda8的起始柱面号, 终止柱 …"
December 16, 2010
linux ulimit调优
"1,说明: ulimit用于shell启动进程所占用的资源. 2,类别: shell内建命令 3,语法格式: ulimit [-acdfHlmnpsStvw] [size] 4,参数介绍: -H 设置硬件资源限制. -S 设置软件资源限制. -a 显示当前所有的资源限制. -c size:设置core文件的最大值.单位:blocks -d size:设置数据段的最大值.单位:kbytes -f size:设置创建文件的最大值.单位:blocks -l size:设置在内存中锁定进程的最大值.单位:kbytes\n-m size:设置可以使用的常驻内存的最大值.单位:kbytes -n size:设置内核可以同时打开的文件描述符的最大值.单位:n -p size:设置管道缓冲区的最大值.单位:kbytes -s size:设置堆栈的最大值.单位:kbytes -t size:设置CPU使用时间的最大上限.单位:seconds -v size:设置虚拟内存的最大值.单位:kbytes 5.举例 在Linux下写程序的时候,如果程序比较大,经常会遇到“段错误” (segmentation …"
December 16, 2010
[推荐]nginx配置文件的优化-关于nginx的一些优化
"总结的很好的,推荐大家看看,非常有用的.\n一般来说nginx配置文件中对优化比较有作用的为以下几项:\nworker_processes 8;\nnginx进程数,建议按照cpu数目来指定,一般为它的倍数。\nworker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;\n为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。\nworker_rlimit_nofile 102400;\n这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。\nuse epoll;\n使用epoll的I/O模型,这个不用说了吧。\nworker_connections 102400;\n每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数 …"