存档

‘Linux相关’ 分类的存档

1、通过rpm包安装的MySQL
service mysqld restart
2、从源码包安装的MySQL
// linux关闭MySQL的命令
$mysql_dir/bin/mysqladmin -uroot -p shutdown
// linux启动MySQL的命令
$mysql_dir/bin/mysqld_safe &
其中mysql_dir为MySQL的安装目录,mysqladmin和mysqld_safe位于MySQL安装目录的bin目录下,很容易找到的。
3、以上方法都无效的时候,可以通过强行命令:“killall mysql”来关闭MySQL,但是不建议用这样的方式,因为这种野蛮的方法会强行终止MySQL数据库服务,有可能导致表损坏……所以自己掂量着用。

五 18th, 2010 | Filed under Linux相关, 数据库技术, 系统架构及硬件
标签:

基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab文件的一些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache
* 23-7/1 * * * [...]

五 18th, 2010 | Filed under Linux相关, 系统架构及硬件

Apache性能优化、超时设置
1、Apache线程数和超时设置
    Apache的线程数控制文件为conf/exrtra/http-mpm.conf,需要在httpd.conf中将 Include conf/extra/httpd-mpm.conf前#去掉,以使得http-mpm.conf生效。
   在Windows系统中,起作用的是Winnt mpm段,
<IfModule mpm_winnt_module>
    ThreadsPerChild      150
    MaxRequestsPerChild    0
</IfModule>
     缺省的配置一般够用,但负荷大的网站就要修改了,否则网站一下就变慢或没有响应了。实际可以根据apache-status查看apache实时连接状态,我的服务器最后设置如下:
<IfModule mpm_winnt_module>
    ThreadsPerChild    350
    ThreadLimit     350
    MaxRequestsPerChild    10000
Win32DisableAcceptEx
EnableMMAP Off
EnableSendfile Off
</IfModule>
    其中ThreadLimit是占用系统线程数限制,最好加上,否则会产生内存溢出导致Apache当掉。 
    MaxRequestsPerChild我理解是请求的缓存数,太小了影响性能,占用cpu时间,太大了占用内存资源,想象一下你网站的文件个数,然后自己设定,只要不为0就可以,防止内存溢出。
    ThreadsPerChlid是apache的线程数,就是开了这么多的线程来等待响应客户端请求,需要根据apache-status实时的监控调节,大了会占用过多内存,小了会导致连接不上。而且应该同时修改httpd-default.php超时设置来配合。
    在httpd.conf中去掉Include conf/extra/httpd-default.conf前的#以使httpd-default.php生效。
其中调节以下参数
Timeout 15 (连接超时缺省为300,太大了,缩小会减少同时连接数,即上面占用的实际线程数)
KeepAlive On (开启可以提高性能,因为一个页面一般会有多个请求)
MaxKeepAliveRequests 50 (这个数目自己根据网页内容调节)
KeepAliveTimeout 5 (这个小于Timeout就行)
Linux 下Apache重启等
如果是linux自己带的apache的话就使用命令
service httpd start 启动
service httpd stop  关闭
service httpd restart 重新启动
如果不是linux自带的apache,或者你的linux根本就没带,是你自己按在/usr/local的话。
进入/usr/local/bin下
cd /usr/local/bin
找到可执行文件执行它,具体你的可执行文件名字是什么我就不大清楚了,
不过肯定是apache开头的什么文件
比如是apache1
执行
./apache1

五 18th, 2010 | Filed under Linux相关, WEB服务器, 系统架构及硬件

Windows下的Memcache安装:
1. 下载memcache(http://memcached.org/)的windows稳定版,解压放某个盘下面,比如在c:\memcached
2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装
3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
4.下载php_memcache.dll,请自己查找对应的php版本的文件
5. 在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’
6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
memcached的基本设置:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

Memcache环境测试:
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把!
< ?php
$mem = new Memcache;
$mem->connect(”127.0.0.1″, 11211);
$mem->set(’key’, ‘This is a test!’, 0, 60);
$val = $mem->get(’key’);
echo $val;
?>
memcached 的工作原理首先 [...]

四 28th, 2010 | Filed under Linux相关, 开源技术, 系统架构及硬件

一. 安装MySQL
我使用的的Mysql是4.1.10,源代码版,你也可以使用RPM包或者二进制版,安装方法可能不一样,请参考其它文章.
先下载Mysql4.1.10的源代码版,地址: http://dev.mysql.com/downloads/mysql/4.0.html
把它下到/usr/local/src目录下,如果没有该目录,就自己建一个.下载回来的包名字叫 mysql-4.1.10.tar.gz,然后我们把它解压出来:
# tar -zxvf mysql-4.1.10.tar.gz
解压后生成mysql-4.1.10目录,我们进入该目录:
# cd mysql-4.1.10
进入后就开始配置mysql了,配置过程中我们要给mysql设置一个安装目录,我们设置在 /usr/local/mysql 下,以为把文件放到一个地方比较容易
管理,如果你还想获得更多的配置信息,使用 ./configure –help: 
# ./configure –prefix=/usr/local/mysql
(./configure –with-libc=/usr/local/glibc-2.4 –prefix=/usr/local/mysql)
然后等几秒钟,配置完成后就编译源代码:
# make
这个编译的过程比较长,如果机器比较慢的话,可能要近二十分种 ( PS:我的机器是很普通的机器,所有用了差不多15,6分种 ) . 编译完成后就安装:
# make install
等上几秒钟,安装完成.下面就到了最关键的部分了,为什么老安装不成功,(PS:至少我是安装了N次,N > 10 ,呵呵),问题关键就在这里,访问 mysql要一个专门的用户,而且必须给相应的访问权限,这里我们就设置root和mysql有权限访问.
我们先建立一个mysql和mysql组用户来访问mysql:
# (pw)  groupadd mysql #建立mysql组
# (pw) useradd mysql -g mysql #建立mysql用户并且加入到mysql组中
建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤)
# ./scripts/mysql_install_db –user=mysql #初试化表并且规定用mysql用户来访问
初始化表以后就开始给mysql和root用户设定访问权限, 我们先到安装mysql的目录:
# cd /usr/local/mysql
然后设置权限
# chown -R root . #设定root能访问/usr/local/mysql
# chown -R [...]

OS:linux as 4.2
软件列表:
1
mysql-5.0.41-linux-i686.tar
http://www.mysql.com
2
httpd-2.0.58.tar
http://www.apache.org
3
php-5.2.3.tar
http://www.php.net
4
jdk-6u1-linux-i586
http://java.sun.com/javase/downloads/index.jsp
5
apache-tomcat-6.0.13.tar
http://tomcat.apache.org/download-60.cgi
6
tomcat与apache联接器
tomcat-connectors-1.2.23-src.tar.gz
http://tomcat.apache.org/download-connectors.cgi
7
resin
http://www.caucho.com
开始安装:
1安装mysql
tar zxvf mysql-5.0.41-linux-i686.tar.gz
[root@ns2 software]# cd mysql-5.0.41-linux-i686
[root@ns2 local]#groupadd mysql
[root@ns2 local]#useradd -g mysql mysql
[root@ns2 local]#mv mysql-5.0.41-linux-i686 /usr/local/mysql -f
[root@ns2 local]#cd /usr/local/mysql
[root@ns2 local]# chown -R mysql.mysql ./
[root@ns2 local]#scripts/mysql_install_db –user=mysql
[root@ns2 local]#chown -R root .
[root@ns2 local]#chown -R mysql data
[root@ns2 local]#chgrp -R mysql .
[root@ns2 local]#bin/mysqld_safe –user=mysql &
这样MySQL就已经启动了,下面为root用户设置密码:
[root@ns2 local]# ./bin/mysqladmin -u root password ‘password’
[root@ns2 local]# ./bin/mysqladmin -u root -h localhost.localdomain password [...]

第一篇:
一 、手动挂载
1.在插入U盘或硬盘之前,在命令行窗口运行:fdisk -l 命令,系统将显示目前所能识别到的硬件存储设备;
内容如:
sda
sda1
sda2
sdb
sdb1
sdb2
等信息,其中,sda与sdb表示目前系统有两个硬盘,后面带有数字表示各个硬盘下的各区目录;
硬盘或存储设备一般都是以sd开头.
2.插入U盘或硬盘,再次运行fdisk -l 命令,系统将再次显示目前所能识别到的硬件存储设备,比较两次输出的不各,将发现第二次运行时会增加一些内容;
系统将在原来的基础上增加显示:sdc,等内容,表示新插入的U盘或移动硬盘是挂靠在系统的sdc下.
3.运行mount,如:
#mkdir /mnt/usb
#mount /dev/sdc /mnt/usb
4.运行完毕,可以直接在/mnt/usb目录下对U盘或移动硬盘的数据进行访问或操作;
5.想断开U盘或移动硬盘之前,运行umount命令,保证数据不会造成丢失,命令如下:
#umount /dev/sdc
6. 对于有中文文件名的盘,需要增加一些选项,例如:如果是ntfs格式硬盘,utf8的文件名
挂载命令就是: #mount -t ntfs -o nls=utf8 /dev/sdc1 /mnt/usb
如果是FAT32格式的,可能就是 #mount -t vfat -o codepage=936,iocharset=cp936 /dev/sdc2 /mnt/winc
或者  #mount -t vfat -o codepage=936,iocharset=utf8 /dev/sdc2 /mnt/winc
其他一些命令:
       软盘 # mount -t msdos /dev/fd0 /mnt/floppy
光盘 # mount -t iso9660 /dev/cdrom /mnt/cdrom
二 、自动挂载
  每次开机访问windows分区都要运行mount命令显然太烦琐,为什么访问其他的linux分区不用使用mount命令呢?
其实,每次开机时,linux自动将需要挂载的linux分区挂载上了。那么我们是不是可以设定让linux在启动的时候也挂载我们希望挂载的分区,如windows分区,以实现文件系统的自动挂载呢?
这是完全可以的。在/etc目录下有个fstab文件,它里面列出了linux开机时自动挂载的文件系统的列表。我的/etc/fstab文件如下:
/dev/hda2 / ext3 defaults 1 1
/dev/hda1 /boot ext3 defaults 1 2
none /dev/pts [...]

四 22nd, 2010 | Filed under Linux相关

Linux系统安全是有很多方面来保证的,这里主要介绍Linux端口安全的知识,这里涉及有关Linux端口的设置,这里有些东西是从网上总结出来的,现在拿出来跟大家分享一下。这里一般要注意主机的包漏洞修补,放火墙的设置,关闭危险服务(端口)以及每日的日志分析.
什么是端口
一台主机的端口可以分为监听端口与随机取用的高级端口.所谓监听端口就是主机开启了哪些服务,那么这个服务会在Linux系统里启用一个端口来监听客户端的请求.例如FTP服务器,就会开放21号端口,这个端口会一直启用,直到FTP服务关闭为止.所谓随机取用的高级端口就是Linux要向某个主机请求服务时,Linux主机需要启用一个端口来对外连接,那么端口号是多少?Linux会随机取用一个未被使用且端口号大于1024的端口进行连接.
所以server/Client之间的数据传送其实就是端口与端口之间的传送.
总共有多少端口,哪些是保留端口
 
端口编号是由1-65535组成,所以会有65535个端口.一般而言,只有root才可以开启1-1023一内的端口,这些端口就是特殊抟口,用于保留给系统使用.至于大于1024的端口,除了给系统随机取用作为连接需求之外,也可以用来服务的监听之用.
如果1-1023的端口的程序被入侵,那将表示入侵者拥有root的权限,是因为只有root才可以开启1-1023一内的端口.这个时候就要注意主机的安全了.
在Linux中保留端口与它所对应的服务其实已经有了一个对照表,那就是/etc/services文件,可以使用netstat -n以数值方式显示连接状态,使用netatst -tl可以显示当前正在监听的服务名称. /etc/services文件也是某些端口启动时设置端口的重要依据.
要了解所谓的端口与服务对于安全的关系:真正影响面安全的并不是端口,而是启动端口的服务.
所以真正的危害是某些不安全的服务而不是开放的端口.基本上,如果没有必要,就关掉一些用不到的端口,而且服务的版本要持续更新.
如何查看端口
1.需要知道主机当前开了多少端口?
2.了解服务跟端口对应的文件是那一个?/etc/services
介绍查看主机端口最常用的命令:
netstat:在本机上检查自己的程序检测端口,没有危险
nmap:在本机上以特殊的检测程序检测自己,可能会违法
关闭或启动一个端口
要开或关闭一个端口,只需要开启或关闭一个服务即可.所以,当检测完端口后,接下来就是要找出端口所对应的服务,将该服务关掉,就会把端口关掉.
设置开机时启动服务的方法
如果以文字方式登录,文字界面的run-level为3,所以就在/etc/rc.d/rc3.d里可以找到服务的启动参数,就是以S开头的文件.如果不要启动一些服务,就将服务对应的文件(以S开头的文件)删除即可.
一般情况下不需要手工删除文件,Linux一般为我们提供了程序可以完成:
ntsysv
setup
是不是要将所有的Linux默认的服务关闭?因为系统有很多服务是一定要启动的,否则反而变的不安全.
以下列出一些完全没有对外开放端口,但却是系统必须的服务,这些服务不要关闭.
atd:在例行命令里提到的,只执行一次的预约执行任务,务必启动
cron:在例行命令里提到的,循环执行的命令,务必启动
iptables:防火墙,无论如何,先启动它
keytables:设置键盘上的字母格式,当然需要读入,否则如何控制
network:网络功能
random:快速使系统在随即时间内保存到映象文件,对系统相当重要,因为在开机之后,系统回迅速回复到关机之前的状态
syslog:在系统日志文件提过,是相当重要的文件,务必启动
xinetd:服务器面理器super deamon,是必须启动的服务之一
xfs:如果使用run-level的图形界面,这个必须启动
关闭所有对外开放的端口
 
在装完Linux后,就要将不必要的程序或服务关闭,最重要的是将对外开放的端口先关闭,需要的时候在开启.如果要假设服务器,可以逐个开启这些端口.
1.使用ntsysv设置开机时启动哪些服务
一般只选择:atd,cron,iptables,keytables,network,random,syslog,xinetd,xfs(如有图形界面)
2.重新启动
reboot
3.查看当前开启了多少端口
netstat -an
这里就说明了Linux端口安全的所有相关知识。
全面介绍Linux重要安全命令(一)
Linux重要安全命令这里介绍三个命令passwd、su和umask这三个命令。对于系统管理员一定要熟悉这些有关Linux安全命令。现在我们就开始这个系列的文章,以期待会对您产生一些有意义帮助。
一、passwd
1.作用
asswd命令原来修改账户的登陆密码,使用权限是所有用户。
2.格式
asswd [选项] 账户名称
3.主要参数
-l:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。
-u:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。
-x, –maximum=DAYS:最大密码使用时间(天),只有具备超级用户权限的使用者方可使用。
-n, –minimum=DAYS:最小密码使用时间(天),只有具备超级用户权限的使用者方可使用。
-d:删除使用者的密码, 只有具备超级用户权限的使用者方可使用。
-S:检查指定使用者的密码认证种类, 只有具备超级用户权限的使用者方可使用。
4.应用实例
$ passwd
Changing password for user cao.
Changing password for cao
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
从上面可以看到,使用passwd命令需要输入旧的密码,然后再输入两次新密码。
二、su
1.作用
su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。
2.格式
su [选项]… [-] [USER [ARG]…]
3.主要参数
-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。
-l , –login:加了这个参数之后,就好像是重新登陆为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。
-m, -p ,–preserve-environment:执行su时不改变环境变数。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
USER:欲变更的使用者账号,ARG传入新的Shell参数。
4.应用实例
变更账号为超级用户,并在执行df命令后还原使用者。  
su -c df root
三、umask
1.作用
umask设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入profile文件,就可控制该用户后续所建文件的存取许可。它告诉系统在创建文件时不给谁存取许可。使用权限是所有用户。
2.格式
umask [-p] [-S] [mode]
3.参数
-S:确定当前的umask设置。
-p:修改umask 设置。
[mode]:修改数值。
4.说明
传统Unix的umask值是022,这样就可以防止同属于该组的其它用户及别的组的用户修改该用户的文件。既然每个用户都拥有并属于一个自己的私有组,那么这种“组保护模式”就不在需要了。严密的权限设定构成了Linux安全的基础,在权限上犯错误是致命的。需要注意的是,umask命令用来设置进程所创建的文件的读写权限,最保险的值是0077,即关闭创建文件的进程以外的所有进程的读写权限,表示为-rw——-。在~/.bash_profile中,加上一行命令umask 0077可以保证每次启动Shell后, 进程的umask权限都可以被正确设定。
5.应用实例
umask -S
u=rwx,g=rx,o=rx
umask [...]

四 22nd, 2010 | Filed under Linux相关, 系统架构及硬件

Vi编辑器vi简介
VI 编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,使它成了效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但VI在系统和服务器管理中的能是那些图形编辑器所无法比拟的。
  VI 编辑器是Visual interface的简称,通常称之为VI。它在Linux上的地位就像Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。
  VI 编辑器并不是一个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。没有菜单,只有命令,且命令繁多。Vi有3种基本工作模式:命令行模式、文本输入模式和末行模式。
  VIM是VI的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。
  要在Linux下编写文本或语言程序,您首先必须选择一种文本编辑器。可以选择使用Vim编辑器,使用它的好处是几乎每一个版本的Linux都会有它的存在。然而它是在文本模式下使用,需要记忆一些基本的命令操作方式。您也可以选择使用 pico, joe, jove编辑器,午夜司令官mc编辑器等,它们都比Vim来得简单。如果您实在不习惯使用文字模式,可以选择视窗环境下的编辑器,像Gedit, Kate等,或是使用KDevelop,它是在Linux中的X Window下执行的C/C++整合式开发环境
[编辑本段]vi 使用方法
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强 大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的, 因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。
  1、vi的基本概念
  基本上vi可以分为三种状态,分别是
  命令模式(command mode)
  插入模式(Insert mode)
  底行模式(last line mode)
  1) 命令行模式command mode)
  控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
  2) 插入模式(Insert mode)
  只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。
  3) 底行模式(last line mode)
  将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
  不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
  2、vi的基本操作
  a) 进入vi
  在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
  $ vi myfile
  不过有一点要特别注意,就是您进入vi之后,是处于[命令行模式(command mode)],您要切换到[插入模式(Insert mode)]才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到 [插入模式(Insert mode)]再说吧!
  b) 切换至插入模式(Insert mode)编辑文件
  在[命令行模式(command mode)]下按一下字母就可以进入[插入模式(Insert mode)],这时候你就可以开始输入文字了。
  c) Insert 的切换
  您目前处于[插入模式(Insert mode)],您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下[ESC]键转到[命令行模式(command mode)]再删除文字。
  d) 退出vi及保存文件
  在[命令行模式(command mode)]下,按一下[:]冒号键进入[Last line mode],例如:
  : w filename (输入 [w [...]

四 20th, 2010 | Filed under Linux相关
标签:

如果要查看磁盘还剩多少空间,当然是用df的命令了。
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 14G 11G 2.6G 82% /
/dev/sda1 [...]

四 20th, 2010 | Filed under Linux相关