首页
关于
标签合集
友情链接
Search
1
一些简单方面的Linux生产随机密码shell
350 阅读
2
美超微主板IPMI使用教程
326 阅读
3
Ubuntu系统开启root登陆权限
250 阅读
4
linux下502自动重启脚本
230 阅读
5
利用廉价VPS做反代,保护你的真实服务器
184 阅读
OS
促销资讯
管理系统
网站运维
网文资讯
登录
Search
标签搜索
网站架构
linux
网站运营
centos
mysql
google
nginx
ssh
apache
服务器
kloxo
vps
架构分析
PHP
特价VPS
xen
shell
数据库
lamp
vpn
装逼爱好者
累计撰写
163
篇文章
累计收到
20
条评论
首页
栏目
OS
促销资讯
管理系统
网站运维
网文资讯
页面
关于
标签合集
友情链接
搜索到
24
篇与
的结果
2013-10-30
免密码信任关系登陆使用ssh
当服务器太多的时候,当密码太多的时候,当需要做rsync的时候,当经常scp的时候常常要输入各密码造成各种混乱有时候还会被列入hosts.deny这个时候用凭证登陆就方便了。1.连接发起方(客户端)使用ssh-keygen -t rsa生成授权钥匙 2.将生成id_rsa.pub的内容复制到/root/.ssh/authorized_keys(如果涉及到权限问题则使用chmod 644 /root/.ssh/authorized_keys授予一下) 简单一句话阐述:生成一个钥匙放上去就可以免密码登陆了。
2013年10月30日
16 阅读
0 评论
0 点赞
2013-09-13
Linux内存爆浆(内存不足)系统日志实例
关于一些刚入门Linux不久又在玩VPS的同学,有时候自己内存爆掉了搞不清东南西北然后到处求救抱怨甚至开喷的情形,今天刚好有空就在dmesg里面抓了一段日志上来做例子。以下是日志内容active_anon:113958 inactive_anon:114006 isolated_anon:32 active_file:6 inactive_file:0 isolated_file:0 unevictable:0 dirty:0 writeback:0 unstable:0 free:1990 slab_reclaimable:2356 slab_unreclaimable:11207 mapped:116 shmem:87 pagetables:7163 bounce:0 Node 0 DMA free:4020kB min:52kB low:64kB high:76kB active_anon:4336kB inactive_anon:4500kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:13856kB mlocked:0kB dirty:0kB writeback:0kB mapped:16kB shmem:0kB slab_reclaimable:60kB slab_unreclaimable:468kB kernel_stack:144kB pagetables:36kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 994 994 994 Node 0 DMA32 free:3940kB min:4004kB low:5004kB high:6004kB active_anon:451496kB inactive_anon:451524kB active_file:36kB inactive_file:0kB unevictable:0kB isolated(anon):128kB isolated(file):0kB present:1018080kB mlocked:0kB dirty:0kB writeback:0kB mapped:448kB shmem:348kB slab_reclaimable:9364kB slab_unreclaimable:44360kB kernel_stack:1416kB pagetables:28616kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:256 all_unreclaimable? no lowmem_reserve[]: 0 0 0 0 Node 0 DMA: 7*4kB 3*8kB 4*16kB 0*32kB 1*64kB 0*128kB 1*256kB 1*512kB 1*1024kB 1*2048kB 0*4096kB = 4020kB Node 0 DMA32: 981*4kB 2*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 3940kB 432 total pagecache pages 290 pages in swap cache Swap cache stats: add 471821, delete 471531, find 1381770/1427029 Free swap = 0kB Total swap = 524280kB 262143 pages RAM 7859 pages reserved 28661 pages shared 243982 pages non-shared Out of memory: kill process 793 (mysqld_safe) score 91618 or a child Killed process 1047 (mysqld) vsz:1890740kB, anon-rss:26400kB, file-rss:4kB nginx invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0 nginx cpuset=/ mems_allowed=0 Pid: 947, comm: nginx Not tainted 2.6.32-71.29.1.el6.x86_64 #1 Call Trace: [] ? cpuset_print_task_mems_allowed+0x91/0xb0 [] oom_kill_process+0xcb/0x2e0 [] ? select_bad_process+0xd0/0x110 [] __out_of_memory+0x58/0xc0 [] out_of_memory+0x199/0x210 [] __alloc_pages_nodemask+0x832/0x850 [] alloc_pages_current+0x9a/0x100 [] __page_cache_alloc+0x87/0x90 [] filemap_fault+0x1a9/0x510 [] __do_fault+0x54/0x500 [] handle_pte_fault+0xf7/0xad0 [] ? xen_write_msr_safe+0x6b/0x90 [] ? __switch_to+0x1ac/0x320 [] ? __raw_callee_save_xen_pmd_val+0x11/0x1e [] handle_mm_fault+0x1ed/0x2b0 [] ? thread_return+0x4e/0x778 [] do_page_fault+0x123/0x3a0 [] page_fault+0x25/0x30测试机环境为 虚拟化:XEN 物理内存:1G swap:512M 系统为:Centos6 X64 内核版本:2.6.32-71.29.1 应用软件:nginx apache php-fpm mysql php5.3Swap cache stats: add 471821, delete 471531, find 1381770/1427029 Free swap = 0kB Total swap = 524280kB以上为节选内存不足的特征日志 可以看到明显Free swap = 0kB(可用swap缓存为0),Total swap = 524280kB(swap容量512M),通常情况下出现类似的情况就是内存不足了。其他片段日志分析Out of memory: kill process 793 (mysqld_safe) score 91618 or a child Killed process 1047 (mysqld) vsz:1890740kB, anon-rss:26400kB, file-rss:4kB由于没有了内存和swap应用还在请求资源,系统就开始杀掉部分进程来缓解。swap正常情况下是存储一些使用较少的数据,当swap占满后将严重殃及硬盘的IO速度从而会造成例如整机变得很慢很卡的麻烦, 如果是VPS类的在应用优化上能处理解决最好早点解决不然有可能整台服务器都被拖累导致服务商下狠手轻则警告重则撵人给轰出来,或者实在不行就增加内存吧。 一般能迅速占满内存和swap在网站环境内基本是mysql和apache这两个家伙,所以切记要盯紧你的系统资源开销。 更多解决内存不足的方法手段这里就不多讲了可以随意抓几个Linux运维请教。。。。PS.关于Openvz 老版本内核没有Vswap,遇上内存不足基本是直接宕掉,新版内核有Vswap但是具体效果还是没有多大用处(对于vSwap本人未作实战分析)。
2013年09月13日
10 阅读
0 评论
0 点赞
2011-08-30
VNC 安装LINUX系统
vnc headless ip=192.168.4.175 netmask=255.255.255.0 gateway=192.168.4.1 dns=8.8.8.8 method=http://219.239.89.57/dvd32/ks=http://219.239.89.57/ks.cfg lang=en_US keymap=us ksdevice=eth0 远程VNC安装系统。 在vim /etc/grub.conf kernel / Headless VNC安装CentOS/RHEL Submitted by admin on Mon, 02/09/2009 - 17:13 * Linux 来源地址: http://wiki.centos.org/TipsAndTricks/VncHeadlessInstall 前面已经为CentOS/RHEL设置PXE引导服务器,并介绍了如何使用KickStart安装CentOS/RHEL。 PXE引导省却了刻录光盘的麻烦,KickStart省却了每次安装时手工选择各个选项的麻烦,但是如果将自动分区的功能也放在KS文件中,有时会导致某些服务器在网络引导时硬盘被格式化,是一种非常危险的操作,需要从中拿出来。这时候难免会需要到控制台执行一些操作,要是安装时就能远程操作就好了? 这篇文档似乎就是实现这个目标的方法。 详细过程就不再重复了,主要原理是添加一个启动项,并设置为默认启动该选项: label linux kernel vmlinuz append initrd=initrd.img ramdisk_size=8192 vnc vncconnect=192.168.0.100 headless ip=dhcp ksdevice=eth0 method=cdrom lang=en_US keymap=us 如果是静态分配IP,则相应修改如下: label linux kernel vmlinuz append initrd=initrd.img ramdisk_size=8192 vnc vncconnect=192.168.0.100 headless ip=192.168.0.10 gateway=192.168.0.254 netmask=255.255.255.0 dns=192.168.0.254 ksdevice=eth0 method=cdrom lang=en_US keymap=us 如果要使用网络安装,则相应修改如下: label linux kernel vmlinuz append initrd=initrd.img ramdisk_size=8192 vnc vncconnect=192.168.0.100 headless ip=dhcp ksdevice=eth0 method=http://mirror.centos.org/centos/5.2/os/i386 lang=en_US keymap=us该文档介绍了重新制作CD的方法,原理是修改光盘上的isolinux/isolinux.cfg文件,并重新打包,然后去掉介质检查过程。对于pxe引导,也很容易修改启动配置文件,并实现安装过程中的远程控制。 »* admin's blog * Add new comment远程重装CentOS服务器声明:远程重装系统存在一定的风险,因各种原因造成的损失本人概不负责,请自行斟酌。我这里原系统是CentOS 5.4,远程重装CentOS 5.5,仅作参考,各项参数请根据实际情况进行修改。1.下载引导文件SSH远程登录到服务器 cd /boot wget http://mirror.centos.org/centos/5.5/os/i386/images/pxeboot/initrd.imgwget http://mirror.centos.org/centos/5.5/os/i386/images/pxeboot/vmlinuz 2.修改Grub配置文件vi /boot/grub/grub.conf 添加默认启动项title CentOS 5.5 Setuproot (hd0,0) kernel /vmlinuz vnc vncpassword=1234567 headless ip=10.1.10.187 netmask=255.255.255.0 gateway=10.1.10.254 dns=192.168.175.5 hostname=test.rayyn.net ksdevice=eth0 method=http://mirror.centos.org/centos/5.5/os/i386/ lang=en_US keymap=usinitrd /initrd.img 保存退出后即可重启计算机 3.通过VNC远程安装系统 VNC Server地址:10.1.10.187:1 密码:1234567 VNC Clinet连接至服务器后,即可跟正常安装CentOS一样进行CentOS的安装。
2011年08月30日
42 阅读
0 评论
0 点赞
2011-07-29
Linux下LAMP(Apache+PHP+MySql)环境配置(第二版)
LAMP是一个缩写Linux+Apache+MySql+PHP,它指一组通常一起使用来运行动态网站或者服务器的自由软件:* Linux,操作系统;* Apache,网页服务器;* MySQL,数据库管理系统(或者数据库服务器);* PHP 和有時 Perl 或 Python,脚本语言。今天介绍一下Linux下LAMP(Apache+PHP+MySql)环境配置:1、下载软件MySql:wget http://down1.chinaunix.net/distfiles/mysql-5.0.56.tar.gzApache:wget http://apache.freelamp.com/httpd/httpd-2.2.13.tar.gzPHP:wget http://125.39.113.23:9203/CDE349DEF7D7A6AC19DE5771F752CA258C693F634815D4BE/cn.php.net/distributions/php-5.2.10.tar.bz22、安装MySql安装步骤:shell> groupadd mysqlshell> useradd -g mysql mysqlshell> gunzip < mysql-VERSION.tar.gz | tar -xvf – 或 tar -zxvf mysql-5.0.56.tar.gz(解压mysql源码包)shell> cd mysql-VERSION(进入mysql源码文件夹)shell> ./configure –prefix=/usr/local/mysqlshell> makeshell> make installshell> cp support-files/my-medium.cnf /etc/my.cnfshell> cd /usr/local/mysqlshell> bin/mysql_install_db –user=mysqlshell> chown -R root .shell> chown -R mysql varshell> chgrp -R mysql .shell> bin/mysqld_safe –user=mysql &修改mysql root 密码$ mysqladmin -u root password newpass添加服务项cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqldchmod 755 /etc/init.d/mysqldchkconfig –add mysqld3、安装Apachetar zvxf httpd-2.2.13.tar.gzcd httpd-2.2.13修改src/include/httpd.h 增大最大线程数#define HARD_SERVER_LIMIT 256改成#define HARD_SERVER_LIMIT 2560保存退出编译apache./configure –prefix=/usr/local/apache –enable-module=so –enable-module=rewrite –enable-shared=max –htdocsdir=/var/www &&makemake install#这里我们通过enable-module参数告诉设置脚本,我们需要启动so和rewrite模块,so模块是用来提DSO支持的apache核 心模块,而rewrite模块则是用意实现地址重写的模块,由于rewrite模块需要DBM支持,如果在初次安装时没有编译进apache,以后需要用 到时需要重新编译整个apache才可以实现。为此除非你可以确定以后不会用到rewrite模块,否则还是建议你在第一次编译的时候把rewrite模 块编译好。enable-shared=max 这个参数的作用时编译apache时,把除了so以外的所有apache的标准模块都编译成DSO模块。而不是编译进apache核心内。好了安装apache很简单的哦,启动apache看看/usr/local/apache/bin/apachectl start然后 通过浏览器查看http://youhost/,如果正常则说明安装成功。apache设为linux服务cp /usr/local/apache2/bin/apachectl /etc/init.d/httpdvi /etc/init.d/httpd在在#!/bin/sh后面加入下面两行#chkconfig:345 85 15#description: Start and stops the Apache HTTP Server.然后chmod +x /etc/rc.d/init.d/httpdchkconfig –add httpd4、安装PHP(1)tar zvxf php-5.2.10.tar.bz2(2)cd php-5.2.10(3)./configure -prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc -with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fastcgi –enable-fpm –enable-force-cgi-redirect –enable-mbstring –with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-ldap –with-ldap-sasl –-with-apxs2=/usr/local/apache/bin/apxs(4)make(5)make install最后一步重新启动apache报如下错误:httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied原因:是Linux有一个SELinux保护模式引起的。解决办法:1关闭SELINUX的方法:vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启这个方法可能会对服务器带来风险。2不关闭SELINUX的方法:依次执行如下命令# setenforce 0# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so# service httpd restart# setenforce 1vi /usr/local/apache/conf/httpd.conf查找在此范围添加AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps然CPOPY PHP的配置文件cp ../php-5.2.10/php.ini.dist /usr/local/php/lib/php.ini修改php.ini文件register_globals = Onok!重新启动一下apache服务器/usr/local/apache/bin/apachectl restart然后写个php测试页info.php:内容如下<?phpphpinfo();?>正常的话,应该能看到php的信息了,恭喜你的Apche+Mysql+PHP安装成功。tar zvxf httpd-2.2.13.tar.gzcd httpd-2.2.13修改src/include/httpd.h 增大最大线程数#define HARD_SERVER_LIMIT 256改成#define HARD_SERVER_LIMIT 2560保存退出编译apache./configure –prefix=/usr/local/apache –enable-module=so –enable-module=rewrite –enable-shared=max –htdocsdir=/var/www &&makemake install#这里我们通过enable-module参数告诉设置脚本,我们需要启动so和rewrite模块,so模块是用来提DSO支持的apache核 心模块,而rewrite模块则是用意实现地址重写的模块,由于rewrite模块需要DBM支持,如果在初次安装时没有编译进apache,以后需要用 到时需要重新编译整个apache才可以实现。为此除非你可以确定以后不会用到rewrite模块,否则还是建议你在第一次编译的时候把rewrite模 块编译好。enable-shared=max 这个参数的作用时编译apache时,把除了so以外的所有apache的标准模块都编译成DSO模块。而不是编译进apache核心内。好了安装apache很简单的哦,启动apache看看/usr/local/apache/bin/apachectl start然后 通过浏览器查看http://youhost/,如果正常则说明安装成功。
2011年07月29日
18 阅读
2 评论
0 点赞
2011-07-27
VMware下linux虚拟机工具安装
虚拟化在我们现在的网站架构中,可以说是无处不在,如果你有在VMware,像我一样碰到了Linux下的时间跑不准问题。那么安装虚拟机工具则可以帮您解决这一烦恼。1、在VM菜单下选择Install VMwaretools(在虚拟机配置里面);2、挂接VMwaretools 的ISO镜像盘;#mkdir /mnt/cdrom#mount -t iso9660 /dev/cdrom /mnt/cdrom3、将VMwaretools的安装包拷贝到磁盘;#cp /mnt/cdrom/vmware-linux-tools.tar.gz /tmp注:安装包名,根据实际版本定。4、解压;#cd /tmp#tar -zxvf vmware-linux-tools.tar.gz5、安装;#lsbin doc etc FILES INSTALL installer lib vmware-install.plvmware-install.pl则为安装文件。#./vmware-install.pl安装时会提示一些路径,如果没有特殊需要则按默认安装即可。6、重启系统,完成安装。
2011年07月27日
14 阅读
0 评论
0 点赞
2011-07-25
LAMP网站架构方案分析
LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架, 该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是 国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软 的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。对于大流量、大并发量的网站系统架构来说,除了硬件上使用高性能的服务器、负载均衡、CDN等之外,在软件架构上需要重点关注下面几个环节:使用高性能 的操作系统(OS)、高性能的网页服务器(Web Server)、高性能的数据库(Databse)、高效率的编程语言等。下面我将从这几点对其一一讨论。操作系统Linux操作系统有很多个不同的发行版,如Red Hat Enterprise Linux、SUSE Linux Enterprice、Debian、Ubuntu、CentOS等,每一个发行版都有自己的特色,比如RHEL的稳定,Ubuntu的易用,基于稳定性 和性能的考虑,操作系统选择CentOS(Community ENTerprise Operating System)是一个理想的方案。CentOS(Community ENTerprise Operating System)是Linux发行版之一,是RHEL/Red Hat Enterprise Linux的精简免费版,和RHEL为同样的源代码,不过,RHEL和SUSE LE等企业版,提供的升级服务均是收费升级,无法免费在线升级,因此要求免费的高度稳定性的服务器可以用CentOS替代Red Hat Enterprise Linux使用。LAMP网站架构图Web服务器、缓存和PHP加速Apache是LAMP架构最核心的Web Server,开源、稳定、模块丰富是Apache的优势。但Apache的缺点是有些臃肿,内存和CPU开销大,性能上有损耗,不如一些轻量级的Web 服务器(例如nginx)高效,轻量级的Web服务器对于静态文件的响应能力来说远高于Apache服务器。Apache做为Web Server是负载PHP的最佳选择,如果流量很大的话,可以采用nginx来负载非PHP的Web请求。nginx是一个高性能的HTTP和反向代理服 务器,Nginx以它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx不支持Windows,只能在包括Linux等环境下安 装,也不支持PHP和CGI等,但支持负载均衡和容错,可和Apache配合使用,是轻量级的HTTP服务器的首选。Web服务器的缓 存也有多种方案,Apache提供了自己的缓存模块,也可以使用外加的Squid模块进行缓存,这两种方式均可以有效的提高Apache的访问响应能力。 Squid Cache是一个Web缓存服务器,支持高效的缓存,可以作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,把Squid放在 Apache的前端来缓存Web服务器生成的动态内容,而Web应用程序只需要适当地设置页面实效时间即可。如访问量巨大则可考虑使用memcache作 为分布式缓存。PHP的加速使用eAccelerator加速器,eAccelerator是一个自由开放源码PHP加速器,优化和动 态内容缓存,提高了性能PHP脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。它还有对脚本起优化作用,以加快其执行效率。 使PHP程序代码执效率能提高1-10倍。具体的解决方案有以下几种:1、squid + Apache + PHP + eAccelerator使用Apache负载PHP,使用squid进行缓存,html或图片的请求可以直接由squid返回给用户。很多大型网站都采用这种架构。2、nginx/Apache + PHP(fastcgi) + eAccelerator使用nginx或Apache负载PHP,PHP使用fastcgi方式运行,效率较高。3、nginx + Apache + PHP + eAccelerator此方案综合了nginx和Apache的优点,使用Apache负载PHP,nginx负责解析其他Web请求,使用nginx的rewrite模块,Apache端口不对外开放。数据库开源的数据库中,MySQL在性能、稳定性和功能上是首选,可以达到百万级别的数据存储,网站初期可以将MySQL和Web服务器放在一起,但是当访问 量达到一定规模后,应该将MySQL数据库从Web Server上独立出来,在单独的服务器上运行,同时保持Web Server和MySQL服务器的稳定连接。当数据库访问量达到更大的级别,可以考虑使用MySQL Cluster等数据库集群或者库表散列等解决方案。总的来说,LAMP架构的网站性能会远远优于Windows IIS + ASP + Access(例如月光博客)这样的网站,可以负载的访问量也非常大,国内的大量个人网站如果想要支撑大访问量,采用LAMP架构是一个不错的方案。综上所述,基于LAMP架构设计具有成本低廉、部署灵活、快速开发、安全稳定等特点,是Web网络应用和环境的优秀组合。原创文章如转载,请注明:转载自月光博客 [ http://www.williamlong.info/ ]本文链接地址:http://www.williamlong.info/archives/1908.html
2011年07月25日
13 阅读
0 评论
0 点赞
2011-07-17
Linux下Mysql表名大小写问题解决
在MySQL中,数据库对应数据目录中的目录。数据库中的每个表至少对应数据库目录中的一个文件(也可能是多个,取决于存储引擎)。因此,所使用操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性。这说明在大多数Unix中数据库名和表名对大小写敏感,而在Windows中对大小写不敏感。一个显著的例外情况是Mac OS X,它基于Unix但使用默认文件系统类型(HFS+),对大小写不敏感。在windows下表名不区分大小写,所以在导入数据后,有可能所有表名均为小写;而从win导入linux后,在调用时会出现大小写的问题,则有些表,例如:第一点:程序调用表名为:fov_Web;第二点:导入win后变为fov_web;第三点:再导入linux后也是fov_web,此时linux会区分表名的大小写,则导致该表无法读取。解决方法:在linux下mysql表名大小写问题解决方法:修改my.cnf,一般位于:/etc/my.cnf[mysqld]lower_case_table_names=1#表名全部为小写,避免出现大小写敏感
2011年07月17日
14 阅读
0 评论
0 点赞
2011-07-15
Linux下LAMP(Apache+PHP+MySql)环境配置
LAMP是一个缩写Linux+Apache+MySql+PHP,它指一组通常一起使用来运行动态网站或者服务器的自由软件:* Linux,操作系统;* Apache,网页服务器;* MySQL,数据库管理系统(或者数据库服务器);* PHP 和有時 Perl 或 Python,脚本语言。今天介绍一下Linux下LAMP(Apache+PHP+MySql)环境配置:1、下载软件MySql:wget http://down1.chinaunix.net/distfiles/mysql-5.0.56.tar.gzApache:wget http://apache.freelamp.com/httpd/httpd-2.2.13.tar.gzPHP:wget http://125.39.113.23:9203/CDE349DEF7D7A6AC19DE5771F752CA258C693F634815D4BE/cn.php.net/distributions/php-5.2.10.tar.bz22、安装MySql安装步骤:tar zxvf mysql-5.0.56.tar.gzcd mysql-5.0.56./configure –prefix=/usr/local/mysql –sysconfdir=/etc –localstatedir=/var/lib/mysqlmakemake install#prefix=/usr/local/mysql mysql安装的目标目录#sysconfdir=/etc my.ini配置文件的路径#localstatedir=/var/lib/mysql 数据库存放的路径安装完以后要初始化数据库,当然你是升级的话不用做这步;/usr/local/mysql/bin/mysql_install_db如果系统没有mysql这个用户的话,最好做以下这步:useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c “MySQL Server” -u 27 mysql然后我启动mysql/usr/local/mysql/bin/safe_mysqld &ok,先看看mysql能否正常工作mysql -uroot mysql一般情况下都是不能正常链接数据库,错误提示一般为:ERROR 2002: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)其实网上大家问的最多的都是整个问题,说什么链接不到mysqld.sock,其实大家不妨看看mysql的错误日志就明白怎么回事,我这里的错误日志是在/var/lib/mysql/*.err 你会发现mysql只所以不能启动,是因为/var/lib/mysql的权限不允许mysql服务访问,英文mysql默认是调用mysql用户来启动服务的,好了,既然知道是什么原因找到不能启动,那就简单了。我们只要chown -R mysql:mysql /var/lib/mysql 就行,如果还是启动不了,再慢慢调试权限,反正一般启动不了都是权限的问题。如果大家还是不能启动不了的话,那就用我的比较繁琐的权限的设置,反正我每次都是这么做的,一般不会有问题,见下:chown -R root /usr/local/mysqlchgrp -R mysql /usr/local/mysqlchown -R root /usr/local/mysql/binchgrp -R mysql /usr/local/mysql/binchgrp -R mysql /var/lib/mysqlchmod 777 /var/lib/mysqlchown -R root /var/lib/mysql/mysqlchgrp -R mysql /var/lib/mysql/mysqlchmod 777 /var/lib/mysql/mysqlchown -R root /var/lib/mysql/mysql/*chgrp -R mysql /var/lib/mysql/mysql/*chmod 777 /var/lib/mysql/mysql/*chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a做完上面的步骤,然后把你编译目录的一个脚本COPY过去cp support-files/mysql.server /etc/rc.d/init.d/mysqldchkconfig –add mysqld用ntsysv设置使mysql每次启动都能自动运行。好了,至此mysql安装完毕,你可以这样起动你的mysql服务/etc/rc.d/init.d/mysqld start下面这步比较关键,ln -s /usr/local/mysql/lib/mysql /usr/lib/mysqlln -s /usr/local/mysql/include/mysql /usr/include/mysql大家可以不做这步,大可以在编译其他软件的时候自定义myslq的库文件路径,但我还是喜欢把库文件链接到默认的位置,这样你在编译类似PHP,Vpopmail等软件时可以不用指定mysql的库文件地址。3、安装Apachetar zvxf httpd-2.2.13.tar.gzcd httpd-2.2.13修改src/include/httpd.h 增大最大线程数#define HARD_SERVER_LIMIT 256改成#define HARD_SERVER_LIMIT 2560保存退出编译apache./configure –prefix=/usr/local/apache –enable-module=so –enable-module=rewrite –enable-shared=max –htdocsdir=/var/www &&makemake install#这里我们通过enable-module参数告诉设置脚本,我们需要启动so和rewrite模块,so模块是用来提DSO支持的apache核心模块,而rewrite模块则是用意实现地址重写的模块,由于rewrite模块需要DBM支持,如果在初次安装时没有编译进apache,以后需要用到时需要重新编译整个apache才可以实现。为此除非你可以确定以后不会用到rewrite模块,否则还是建议你在第一次编译的时候把rewrite模块编译好。enable-shared=max 这个参数的作用时编译apache时,把除了so以外的所有apache的标准模块都编译成DSO模块。而不是编译进apache核心内。好了安装apache很简单的哦,启动apache看看/usr/local/apache/bin/apachectl start然后 通过浏览器查看http://youhost/,如果正常则说明安装成功。4、安装PHPtar zvxf php-5.2.10.tar.bz2cd php-5.2.10(1)./configure \–prefix=/usr/local/php \–with-mysql=/usr/local/mysql \–enable-force-cgi-redirect \–with-freetype-dir=/usr \–with-png-dir=/usr \–with-gd –enable-gd-native-ttf \–with-ttf \–with-gdbm \–with-gettext \–with-iconv \–with-jpeg-dir=/usr \–with-png \–with-zlib \–with-xml \–enable-calendar \–with-apxs=/usr/local/apache/bin/apxs(2)make(3)make install#我这里由于服务器需要用到GD库,所以加了一些支持GD的编译参数,GD直接用了redhat自带的GD库,大家没有安装的话可以从安装盘安装,注意除了安装GD以外,还要安装libjpeg,libpng等库文件。另外–with-mysql=/usr/local/mysql指向你安装mysql的路径。–with-apxs指向apache的apxs文件的路径。vi /usr/local/apache/conf/httpd.conf查找在此范围添加AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps然CPOPY PHP的配置文件cp ../php-5.2.10/php.ini.dist /usr/local/php/lib/php.ini修改php.ini文件register_globals = Onok!重新启动一下apache服务器/usr/local/apache/bin/apachectl restart然后写个php测试页info.php:内容如下<?phpphpinfo();?>正常的话,应该能看到php的信息了,恭喜你的Apche+Mysql+PHP安装成功。
2011年07月15日
18 阅读
0 评论
0 点赞
2011-07-04
linux crontab 计划任务
crontab 定时指定工作2007-11-02 09:24在 FreeBSD 系统中,系统常常会定时执行一行工作,例如,每天的系统信息统计、系统安全检查等。而系统管理者及一般使用者也可以设定定时执行一些工作,这些工作可以时只执行一次、或是定时重复执行。如果是要设定只执行一次的工作,例如,设定在今天 10:00 时执行某个指令,我们可以使用「at」这个指令。如果是要设定重复报行的工作,例如,设定每天 12 点执行某个指令,我们可以使用「crontab」这个指令,或者是由系统管理者编辑 /etc/crontab 这个档案来进行设定。我们先来看看「crontab」重复定时执行程序的说明:「crontab」重复定时执行程序在 UNIX 系统中,有一个背景程序会定时执行一些工作,这个程序在 FreeBSD 中称为「cron」。「cron」这个程序会定时去检查 /etc/crontab 及 /var/cron/tabs 中的档案,并执行其中的设定。/etc/crontab 可以让管理者设定要以什么使用者的身份去执行定时工作,而一般使用者如果要设定定时执行工作时,可以使用指令 crontab -e 来编辑自己的定时执行工作,crontab 会将使用者的工作设定放在 /var/cron/tabs 中。我们先来看一下 /etc/crontab 的内容说明:# 设定使用的 shell, 路径 SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin # 设定执行指令时的目录 HOME=/var/log # 当指令有输出数据时,要将输出的东西寄给谁。 MAILTO="" # # 分 小时 天 月 星期几 身份 指令 #minute hour mday month wday who command # */5 * * * * root /usr/libexec/atrunminute:代表一小时内的第几分,范围 0-59。 hour:代表一天中的第几小时,范围 0-23。 mday:代表一个月中的第几天,范围 1-31。 month:代表一年中第几个月,范围 1-12。 wday:代表星期几,范围 0-7 (0及7都是星期天)。 who:要使用什么身份执行该指令,当您使用 crontab -e 时,不必加此字段。 command:所要执行的指令。 小时的字段中如果是 *,表示每小时,天的字段中如果是 *,表示每天,依此类推。字段中也可以使用 "-" 来表示范围。例如,在小时的字段中填 8-11,表示执行的时间是 8,9,10,11,共四次。字段中也可以用逗点来表示,以分的字段而言, 1,2,5,9 表示将在 1,2,5,9 分时各执行一次。我们也可以写成像这样 1-2,12-14 ,表示在 1,2,12,13,14 分各执行一次。另外,也可以用 / 后面加数字表示每几分钟要执行一次。如在分的字段填 0-23/2,表示 1-22 分之间,每隔二分钟执行一次,也就是 0,2,4,6,8,10,12,14,16,18,20,22。如果在分的字段是 */5,表示每五分钟一次。除此之外,在时间的字段中,我们也可以用一个开头为 @ 的字符串来表示各种排程时间意义:字符串 代表意义 @reboot 开机时跑一次。 @yearly 每年跑一次,等于 "0 0 1 1 *"。 @annually 和 @yearly 一样。 @monthly 每月跑一次,等于 "0 0 1 * *",也就是每月一日半夜 12 点执行。 @weekly 每周跑一次,等于 "0 0 * * 0",也就是每个周日半夜 12 点执行。 @daily 每天跑一次,等于 "0 0 * * *",也就是每天半夜 12 点执行。 @midnight 和 @daily 一样。 @hourly 每小时跑一次,等于 "0 * * * *"。另外,我们还可以在档案中以「key = value」的方式设定在执行指令时的环境变量。例如,一般指令有输出执行结果时,会自动寄给 root,我们也可以设定「MAILTO = ""」表示不要将输出结果寄出。以下为几个时间设定的范例:# 分 小时 天 月 星期几 身份 指令 #minute hour mday month wday who command # # 设定每 5 分钟执行一次atrun。 */5 * * * * root /usr/libexec/atrun# 设定每天一点零一分时执行 /bin/check 1 1 * * * root /bin/check# 设定每周一 3:11 分执行 week_check 11 3 * * 1 root /usr/local/week_check# 设定每天一点及四点的零到二十三分中间,每二分钟执行一次 something。 0-23/2 1,4 * * root /bin/something# 设定每天半夜十二点执行 something。 @daily root /bin/something如果你以一般使用者或是管理者的身份执行 crontab -e 来设定 crontab,你不必设定身份的字段,因为 crontab 会自动取得您的身份。使用 crontab -e 所设定的工作会被放在 /var/cron/tabs 目录中,所以如果要备份或升级时,应该要注意这些档案是否要备份。小提示 我们在安排 crontab 时,应该要错开每个程序的执行时间,才不会有一大堆程序同时执行,造成系统负荷过高。「at」设定只执行一次的程序cron 可以用来设定不断的重复定时执行一些工作,然而,如果您只希望在某个时间执行「一次」某个指令,可以使用「at」。「at」的设定可以分为三个指令:「at」用来建立工作、「atq」用来列出目前待执行的工作有哪些、「atrm」用来删除 atq 中所列出的工作。当您执行了 at 后,它会要求您在命令列中以 shell scripts 的写法输入想要执行的指令,而您也可以先将所要执行的指令写再一个档案中,再让 at 去执行。在使用 at 指令时,必须先输入您要在什么时候执行工作,而时间的格式可以是下列任何一种:格式 说明 at 10pm 设定晚上十点执行。时间的格式可以是 HHMM 或 HH:MM。 at 8:30am Oct 10 设定十月十日早上八点半执行。 at midnight Jan 1 2005 设定 2005 年一月一日的第一秒钟执行。 at teatime 设定在下次的下午 4 点执行。teatime 表示是 4:00pm,而 midnight 表示半夜十二点,noon 表示中午十二点。 at -t MMDDhhmm 表示在 MM 月 DD 日 hh 时 mm 分时执行,您还可以在 MM 前加上年,而年的格式二位或是四位都可以。如果您要设定在 10pm 执行某些工作,您可以打「at 10pm」后按 <Enter>,接着您必须开始输入所要执行的指令,在全部输入完成后,请按 <Ctrl>+<D>结束编辑。如果您不想使用命令列编辑的方式输入所要执行的工作,您可以先写一个 shell script 并使用下列指令设定:# at -f mycommand.sh 10pm 上述指令中,您所写的 shell scripts 档案是 mycommand.sh。在设定之后,接着您可以使用下列指令列出目前等待执行的 at 工作:# atq Date Owner Queue Job# 2005年 6月 5日 周日 22时00分00秒 CST root c 2 如果您要删除某一个工作,只要使用 atrm 并输入该工作在 atq 中的 job id 即可。例如,我们要删除 ID 为 2 的工作:# atrm 2 限制一般使用者使用 cron 及 at大部份的情况下,一般使用者应该不会需要使用定时排程的工作。如果您发现有使用者定时会执行一些耗费系统数据的工作,我们可以为这个指令设限,只允许必要的使用者执行。如果要限制使用 crontab,只需要在 /var/cron 目录中,加入 allow 或是 deny 这个档即可。例如,我们只允许少数几个使用者执行 crontab,我们可以新增 /var/cron/allow 这个档,内容为该使用者的名称。相对的,如果我们要限制少数几个使用者执行 crontab,只要编辑 /var/cron/deny 这个档即可。而指令 at 的限制也是一样,不同的只是允许执行 at 指令的名单是 /var/at/at.allow,而拒绝的名单是 /var/at/at.deny。 crontab命令使用2007年05月14日 星期一 上午 10:06 名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab [ -u user ] file crontab [ -u user ] { -l | -r | -e } 说明 : crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。 参数 : crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe) crontab -r : 删除目前的时程表 crontab -l : 列出目前的时程表 crontab file [-u user]-用指定的文件替代目前的crontab。 时程表的格式如下 : f1 f2 f3 f4 f5 program 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推 当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推 使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。例子1 : #每天早上7点执行一次 /bin/ls : 0 7 * * * /bin/ls 在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup : 0 6-12/3 * 12 * /usr/bin/backup 周一到周五每天下午 5:00 寄一封信给 alex@domain.name : 0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata 每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha" 20 0-23/2 * * * echo "haha" 注意 : 当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可例子2 : #每天早上6点10分 10 6 * * * date #每两个小时 0 */2 * * * date #晚上11点到早上8点之间每两个小时,早上8点 0 23-7/2,8 * * * date #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 0 11 4 * mon-wed date #1月份日早上4点 0 4 1 jan * datelinux下开机自动运行怎么设定啊crontab* * * * * scriptsname前面是时间 后面是脚本名
2011年07月04日
13 阅读
0 评论
0 点赞
2011-06-25
linux文件夹信息显示(大小、排序.....)
方法一:ll ./* | sort -k 5 -n 从小到大排列,如果需要从小到大加-r选项即可方法二:ls -lSr 按文件大小降序排列 Linux 某个目录下的文件按大小排序1. df -lh2. du -s /usr/* | sort -rn 这是按字节排序3. du -sh /usr/* | sort -rn 这是按兆(M)来排序4.选出排在前面的10个 du -s /usr/* | sort -rn | head5.选出排在后面的10个 du -s /usr/* | sort -rn | tail说明:/usr/*也可以改成你想到达的任何目录 如/usr/local/zhou/resin 这个目录就可以写成 /usr/local/zhou/resin/* 文件夹所占大小 du . -H |grep
2011年06月25日
8 阅读
0 评论
0 点赞
1
2
3