1、Linux的常用命令:
ls 显示当前文件夹目录 ll -->详细信息 ls -a 显示所有文件 ls -lhSr
w 查看登录的帐号,还可以查看cpu负载情况,who am i ,who 看的信息少些
last 查看过去用户登录信息,lastlog //用户最后登录的日期
cd 切换目录 cd - -->返回上一目录 cd ~ -->用户文件夹 cd / -->更目录
cd .. 上一层目录 dirname ~baidu--> /home basename ~baidu--> baidu
pwd 显示当前目录
shutdown -h 10 (Root下)10分钟后关闭系统
halt 通用立即关闭系统
useradd bbc 添加用户 passwd abc 更改用户密码
clear/Ctrl+L 清屏,把命令行清屏,相当于Windows的CLS命令
dhclient 获取上网地址 ifconfig 查看网络参数
Ctrl+Alt+F2 切换到全命令模式,即CLI命令行
Ctrl+Alt+F1 跳回GUI界面
tab 自动补全
vi index.html 编辑指定文本文件 Esc+ :wq 保存退出
mv 1.html 2.htm 移动文件,相当重命名
echo 把内容写入文件,echo "Hello World">>index.html
mkdir 新建文件夹 mkdir -p admin/model ,递归创建文件夹
rmdir 删除文件夹 rmdir -p admin/model ,递归删除空文件夹
rm 删除文件 rm -rf admin -->递归删除文件
data 显示日期,示例:data "+%Y-%m-%d %H:%I:%S"
cal 显示当前日历,含星期的日历 cal 1-28 2016
cat 显示里面的内容 示例:cat index.html
touch 修改属性 touch -t 0902211033 qq 修改qq文件夹的最后修改时间
more cal 2017 |more 分屏显示数据,回车/空格控制显示
more index.html 分页看文件q退出
less index.html 查看文件,可以查找,/ 搜索 n 向下 N向下 q退出
tail -5 index.html 显示后5行 head -3 index.html 显示前三行
find find / -user qq 查找用户的文件 find / -name qq 查找qq文件名
find / -size +6000k
find / -name index.html -exec rm -rf {} \; 查找文件并执行命令
find / -nouser -exec rm -ri {} \; //删除没有用户的文件和文件夹
find /var/www/html -type d -exec chmod 0755 {} \;//目录更改权限
find /www/html ! -type -d -exec chmod 640 {} \;//修改文件权限
which which passwd 查找passwd位置 whereis ls 查看命令位置
updatedb 更新数据库
locate locate index.html 查看普通文件
du 查看目录大小, du -sh
netstat netstat -tnulp //查看tcp监听端口,数字显示,并且显示PID
grep grep -vxFf a.log b.log >diff.log //比较两个日志的不同
2、Linux的目录结构:
bin 常用命令
sbin 超级管理员命令,shutdown -h now等
boot 启动方式
dev 设备文件
etc 配置文件夹
home 用户目录,不含Root
usr 字体,帮助文档,相当windows目录
lib 共享函数库
mnt 默认挂载区
3、Shell简单使用:
shell 用户与内核沟通的中间人
GUI 图形化SHELL
CLI 命令行SHELL
4、简单的SSH登录设置命令-远程登录:
vi /etc/selinux/config -->修改 SELINUXTYPE=disabled //跳过安全检查
vim /etc/sysconfig/network-scripts/ifcfg-eth0 //固定IP
修改添加如下:
ONBOOT=yes
BOOTPROTO=static
NETMASK=255.255.255.0
IPADDR=192.168.0.115
GATEWAY=192.168.0.1
DNS1=8.8.8.8
用SSH登录Linux,工具如PuTty:192.168.0.115:22
使用SSH远程复制:把本地文件复制到远程主机
Linux下:ssh 192.168,0.116
本地文件:scp index.html root@192.168.0.115:/tmp
useradd -s /sbin/nologin tom //添加用户,不能登录ssh
usermod -s /sbin/nologin doobo //修改用户不能ssh登录
5、权限(帐号、角色-组、其它人):
Linux目录 读权限 才能查看(ls)该目录信息,执行权限 才能打开(cd)此目录
浏览器访问网站,只要保证文件拥有者(www),7权限即可,所属组及其他人的权限设置仅仅用于命令行cd、ls操作文件夹
-rw-rw-r-- rw-所有者 rw- 所属组 r-其他人---664
umask -S 显示默认权限
r w s 4 2 1 读-4 写-2 执行-1
chmod 修改权限 chmod 777 b.sh chmod o-w b.sh 文件的其它用户除去写权限
rwx--目录 w-新建-改名-删 x-进去 r-读文件列表 rx一般一块用
注意:对文件的删、更名等权限属于该文件的所在目录的权限,与该文件权限无关
chown 修改文件的所有者 chown root index.html
或者 chown root:root index.html //修改所有者和用户组
chown -R root:root admin //修改admin内所有文件和文件夹的所属用户
/etc/shadow 用户密码文件 15855:0:9999:7::: 注册时间,多少天才能修改密码,多
少天必须修改密码,提前几天通知,后面宽限多少天,帐号失效时间
chgrp chgrp hd www 更改文件用户组 groupadd hd 创建组 groupdel hd 删除组
usermod 修改用户信息 usermod -G hd doobo 给doobo添加附加组
usermod -G '' doobo 删除doobo的附加组
usermod -L doobo 锁定用户 usermod -U doobo 解锁用户
passwd -l doobo 锁定用户 passwd -u doobo 解锁用户
userdel 删除用户 userdel doobo --》userdel -r doobo删除doobo和它的home目录
chage 修改用户的属性,chage -m 3 doobo //多长时间才能修改密码
chage -M 10 doobo 多长时间必须修改密码
chage -W 2 doobo 密码到期前多长时间提醒我
chage -I 5 doobo 密码到期后宽限5天
chage -E 2018-2-20 doobo 帐号密码什么时候失效 0 立刻失效 -1 不失效
SUID设置 chmod 4755 /usr/biin/passwd chmod 2755 indexdir //给目录设置sgid
chmod 1777 indexdir //只能删除自己建立的文件 设置sbit
acl setfacl -m u:u2:rwx acldir //给u2添加特殊权限
setfacl -m g:hd:rwx acldir //给组添加特殊权限
setfacl -m m:r acldir //给目录的mask添加读权限,相交其它权限
getfacl acldir//获取acldir目录的acl列表 ,只支持ext2到ext4格式磁盘
sudo /etc/sudoers //visudo 进行编辑 doobo ALL=(ALL) ALL 能任何地方,
替代任何用户,执行所有的命令,相当root帐号,但需要sudo passwd qq
doobo ALL=(root) /sbin/halt,/sbin/shutdown -h now //添加指定命令
但必须使用sudo 加指定的命令执行
doobo ALL=(root) !/usr/bin/passwd,!/usr/bin/passwd root,
/usr/bin/passwd [a-zA-Z0-9]* //给用户修改密码权限,不能修改root
Cmnd_Alias BAN = /sbin/shutdown -h now,!/usr/bin/passwd,...
baidu ALL=(root) BAN //别名批量设置权限
User_Alias BANUSER = doobo,qq,baidu //用户分组设置权限
%hd ALL=(root) BAN //给hd组添加权限
pkill pkill -kill -t pts/1 //踢出用户,通过w获取pts/1的值
write write doobo pts/0 --》hello --》Ctrl+D //给用户发送消息
wall wall "system will shutdown!" //广播发送消息
6、环境变量,不在当前目录寻找
echo $PATH 输出环境变量
PATH=$PATH:/home/baidu 添加环境变量
./a.sh 执行当前文件夹内的脚本,必须加./
whereis ls 查看ls的所属文件
//软连接-快捷方式:
ln -s /user/local/baidu/baidu.sh /usr/bin/baidu
7、Linux磁盘分区:
sync 同步内存数据到磁盘
df 分区 df -h
fdisk 显示磁盘 fdisk -l
fdisk /dev/sdb //选择磁盘分区
n //新增分区
1 p //主分区 +5G //设置分区大小
t //修改分区结构 L//显示分区格式代码
mkfs 格式化 mkfs -t ext4 /dev/sdb1
mount 挂载 mkdir /mnt/sdb1 mount /dev/sdb1 /mnt/sdb1
卷标挂载 e2label /dev/sdb1 web //起卷标
mount -L "web" /www //用卷标挂载
mount /dev/cdrom /media //挂载光驱
umount 弹出 umount /dev/sdb1
lsof 查看占用 lsof /mnt/sdb1
fatab 自动挂载,vim /etc/fstab 添加行:/dev/sdb1 /www ext4 defaults 0 0
卷标自动挂载:LABEL=www /www ext4 defaults 0 2
模拟挂载 mount -a //出错会提示
8、忘记root密码的解决方案和fstab文件查错
重启或启动---》》按...--》》按e--》选择kernel --》按e--》》输入single回车--》按b
mount -n -o remount,rw / //重新挂载根分区,可读可写
会进入单用户模式,使用passwd root 既可以修改root密码
9、压缩与解压缩,备份etc目录:
zip passwd.zip passwd //压缩单个文件 zip -r passwd.zip passwd 递归压缩,压缩文件夹
unzip passwd.zip //解压缩
gzip passwd //压缩文件 gzip -r etc 递归压缩文件
gzip -d passwd.gz //解压缩
bzip2 passwd //压缩文件,不能递归压缩,自动删除源文件
bzip2 -d passwd.bz2 //解压缩,自动删除压缩包 -k 保留
tar -j bzip2压缩 -z gzip压缩 -f 设置文件名
-c 新建打包文件 -v 显示执行过程
tar zcvf /tmp/root/passwd.tar.gz /tmp/root/passwd 压缩文件
tar zxvf passwd.tar.gz //解压缩,必须指定类型z或者j
tar zxvf passwd.tar.gz -C ~qq //解压到用户qq目录下
10、vim的常用方法:
1、yum install vim 安装vim Esc 普通模式,命令输入
2、:set nu 显示行号 :set nonu :set tabstop=2
3、i 当前插入 I行首插入 a 下一字符 A 行尾 o 下一行 O 上一行 u 撤销
dd 剪切 p或P 粘贴 yy 复制 3yy 复制3行 5dd 剪切3行
4、:sh 退回命令行,exit继续进入编辑器 :sp b.txt 新开窗口 ctrl+w 上下键 切换编辑区
5、! 强制执行命令 :q! :wq! :x!
6、:w b.txt 另存为
7、:0 :1 :2546 跳转到行 :/qq 查找qq :/n 向下查找 :?f 向上查找
8、:1,5s/$f/$a/g 从第一行到第五行执行替换,把$f替换为$a,全局替换
:1,5s/$a/$b/gc 每次提示确定
9、:r b.txt 把b.txt的数据导入进来
10、:set autoindent 自动缩进 cd --> vi .vimrc --> set nu set autoindent set tabstop=2
11、软件安装与常用设置:
wget wget http://www.memcached.org/files/memcached-1.4.34.tar.gz //下载文件
tar --> ./configure --prefix=/usr/local/memcached--> make --> make install
或 make && make install
ldconfig //添加动态函数库到内存
/etc/ld.so.conf //动态函数包含的目录 vi /etc/ld.so.conf
rpm //安装特定软件,有数据库记录 rpm -qa //显示安装的rpm软件
rpm -ivh mysql_686.rpm //安装rpm包
rpm -qa | egrep -i '^tree' //查找以tree开头不屈服大小写的软件名
rpm -e 软件包名 //删除安装的软件包
yum yum install vim //通过源安装软件
修改yum的源地址:
cd /etc/yum.repos.d/ --> rm -rf *
http://mirrors.163.com/ //从新源下载新配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo
http://mirrors.aliyun.com/repo/Centos-6.repo
放入/etc/yum.repos.d/目录下
yum clean all
yum makecache //更新源地址
yum search mysql //搜索软件
yum erase mysql //卸载软件
yum -y update >/tmp/yum.log & 更新系统,正常和错误的
信息多输出到文件,并且后台运行
12、任务计划,定时执行:
yum install at -->service atd start //d是守护的意思mysqld、atd
at 12:49 --> touch /tmp/12.49.test --> ctrl+D 退出命令编辑
at -l 查看已经创建的任务 at -c 2 查看任务详细 at -d 4 删除任务
ls -ld / >/tmp/ls.txt //把命令执行成功的结果输出到文件
vi /etc/at.allow //配置允许执行at的用户 at.deny //配置禁止执行at
crontab //周期性的任务
crontab -e //添加任务
/etc/crontab //管理员添加任务
crontab -l //查看任务 crontab -r 删除任务
*/5 * * * * ls / >>/tmp/ls.log //每五分钟执行一次
0 * * * * 每小时执行 0 0 * * 0 每周执行 0 0 1 1 * 每年执行
0 0 * * * 每天执行 0 0 1 * * 每月执行
32 20 6,10 * * 每月的6号10号的20:32分执行命令
watch watch cat /tmp/cron.log //每两秒执行一下命令
13、进程管理
进程 运行中的程序
ps 查看服务 ps aux 或 ps aux |grep atd 或ps -l
pstree 进程关系树形显示pstree -p //显示进程ID -u 显示用户关系
jobs 查看后台进程
top 系统资源占用显示,用户数、内存、CPU、缓存信息等
shift+m 按内存使用大小排序 shift+p 按CPU排序
top -n 3 只刷新3次,就停止 top -d 10 10秒刷新一次
top -b -d 1 >/tmp/top.log //-b能写入文本,-d只跑一次
kill kill 1890 //结束进程,不保证绝对杀死
kill -9 1890 //强制结束进程
pkill pkill -9 ls //按照进程的名字删除
killall killall -9 -i ls //按名字删,有确认提示
uptime 显示系统当前时间的用户数和CPU使用情况
程序-->载入内存+CPU(进程)-->服务 //临时工和门卫的关系
错误输出重定向 find / -name \*root\* 2>/dev/null //不显示错误信息
正确输出重定向 find / -name \*root\* 1>/tmp/find.log
14、linux的启动流程和服务的开机启动和关闭:
1、开机进入BOIS
2、选择启动磁盘、搜索MBR,进入系统,init pid 1
3、加载/etc/rc.sysinit 磁盘检测、网卡等
4、根据/etc/inittab文件,执行/etc/rc.d/rc*.d对应的文件,
定义启动级别,图形,命令行界面,K不启动服务
5、再执行/etc/rc.d/rc.local,出现登录界面,可以添加开机启动命令
6、chkconfig --list //查看对应的服务在不同等级开启的情况
chkconfig --level 35 mysqld on //3和5等级,mysql开启
7、/etc/init.d/ 所有服务所在目录,可以自己添加服务
对应/etc/rc.d/init.d/ 的文件夹
15、VNC与图形化远程桌面配置:
系统必须支持图形桌面
yum install tigervnc-server.i686 //安装vnc
下载realvnc登录软件,能在不同平台远程登录
Linux配置VNC服务:
vi /etc/sysconfig/vncservers
VNCSERVERS="2:doobo 3:mysql 4:root"
vncpasswd doobo //设置doobo的vnc密码,在doobo下设置
/etc/init.d/vncserver start //启动vnc
service iptables stop //关闭防火墙,防止连接失败
service iptables status //查看防火墙状态
ps axf | grep vnc/iptables //查看进程
VNC_View 使用192.168.0.116:2登录,不需要填写其它的信息
16、samba服务器的使用
yum -y install samba
//开特权,关闭防火墙
vi /etc/samba/smb.conf
security = share -101行
找到Share Definitions,添加共享信息-250行
[doobo]
path=/tmp
public=yes //匿名共享设置成功
testparm /etc/samba/smb.conf //检测配置文件是否正确
security = user -101行
smbpasswd -a doobo //给用户设置smb密码
writable = yes //赋予写权限
create mode=0666 //修改分享文件的权限
directory mode=755 //修改目录的权限
valid users=doobo,qq //允许指定用户进入
valid user=@code //只允许code组的用户进入
17、IpTables的配置与使用(防火墙配置):
ACCEPT 让数据进来 DROP 丢弃数据包不告知
REJECT 丢弃并告知
iptables -P INPUT DROP //修改默认进来的包丢弃
iptables -A INPUT -j DROP //丢弃所有进来的数据包
iptables -F //清楚所有过滤规则
iptables -L -n --line-number //按序号有行号显示规则
iptables -A INPUT -s 192.168.3.200 -j DROP //添加末尾阻止ip进入
iptables -I INPUt -s 192.168.3.202 -j DROP //插入头部规则
intables -D INPUT 1 //删除第一条进入规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT //允许TCP的22号端口
iptables -A INPUT -i eth0 -j DROP //配置指定网卡的规则
iptables -A OUTPUT -o eth0 -j DROP //阻止指定网卡数据出站
iptables -A OUTPUT -p tcp --sport 80 -j DROP //阻止端口数据输出
应用:
iptables -A INPUT -p icmp -j DROP //禁止ping服务器
service iptables save //保存规则到本地,重启依然有效
iptables-save>/etc/sysconfig/iptables //保存到文件,重启有效
telnet 192.168.3.120 25 //测试对应端口是否打开,ctrl+] 异常退出 ctrl+D 退出
编写脚本:
IPT="/sbin/iptables"
$IPT -F
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp --dport 22 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
#$IPT -A INPUT -p icmp -j ACCEPT 禁止Ping服务器
$IPT -A OUTPUT -p icmp -j ACCEPT
$IPT -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
#$IPT -A INPUT -p udp -m udp --sport 53 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp --dport 21 -j ACCEPT
$IPT -A INPUT -p tcp --dport 10020:10040 -j ACCEPT
$IPT -A OUTPUT -p udp --dport 123 -j ACCEPT
#$IPT -A INPUT -j REJECT --reject-with icmp-host-prohibited
#$IPT -A FORWARD -j REJECT --reject-with icmp-host-prohibited
service iptables save
service iptables restart
18、web服务器之httpd的安装调试
yum -y install httpd httpd-devel
paachectl start //启动apache service httpd start /etc/init.d/httpd start
vi /etc/httpd/conf/httpd.conf //apache的主配置文件
ServerTokens Minor //配置成不显示服务器信息
ServerSignature Off/EMail//不显示服务信息或显示管理员邮箱
Timeout 60 //超时时间60秒
KeepAlive Off //是否持久化连接,一次连接多个资源
ServerName localhost //设置服务器名字
Options FollowSymLinks 开启软链接,Options -FollowSymLinks 禁止软链接
Options -Indexes //不能查看网站目录列表
UserDir public_html //能访问home下的public_html目录,如.../~doobo/
NameVirtualHost *:80 //多虚拟主机必开的配置项,匹配域名
var/log/httpd/ //apache的日志文件目录
var/www/html //apache的默认网站根目录
多虚拟主机配置:
//主配置开启NameVirtualHost *:80
vi /etc/httpd/conf.d/virtual.conf
<VirtualHost *:80>
ServerAdmin admin@163.com
DocumentRoot /var/www/html
ServerName www.hd.com
ErrorLog logs/www.hd.com-error_log
CustomLog logs/www.hd.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@163.com
DocumentRoot /bbs
ServerName bbs.hd.com
ErrorLog logs/bbs.hd.com-error_log
CustomLog logs/bbs.hd.com-access_log common
</VirtualHost>
重点(Tomcat和apache反向代理):
yum install gcc-c++ //编译jatka环境
yum install httpd-dev.rpm //扩展所需的apxs
jakarta-tomcat-connectors-1.2.15-src.tar.gz //下载转发包
tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
cd jakarta-tomcat-connectors-1.2.15-src/jk/native
./configure --with-apxs=/usr/bin/apxs
make
cp ./apache-2.0/mod_jk.so /etc/httpd/modules/
在/usr/local/apache2/conf.d/下面建立两个配置文件mod_jk.conf和workers.properties
vi mod_jk.conf
JkWorkersFile /etc/httpd/conf.d/workers.properties
JkLogFile /tmp/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
JkMount /myapp/* worker1
JkMount /*.jsp worker1 #*/
vi workers.properties
#Defining a worker named worker1 and of type ajp13
worker.list=worker1
# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
在/etc/httpd/conf/http.conf里面开启
LoadModule jk_module modules/mod_jk.so
在tomcat的server.xml中的Host之中添加
<Context path="" docBase="/var/www/html" debug="0" reloadable="true" crossContext="true"/>
19、RewriteEngine图片防盗链和伪静态:
a、基本示例:开启RewriteRule
<VirtualHost *:80>
ServerAdmin admin@163.com
DocumentRoot /var/www/html
ServerName 192.168.3.120
ErrorLog logs/localhost-error_log
CustomLog logs/localhost-access_log common
RewriteEngine On
RewriteRule (.*)\.jsp$ http://192.168.3.120/index.html
</VirtualHost>
b、伪静态、防盗链使用,动态添加规则-->开启AllowOverride:
<VirtualHost *:80>
ServerAdmin admin@163.com
DocumentRoot /var/www/html
ServerName 192.168.3.120
ErrorLog logs/localhost-error_log
CustomLog logs/localhost-access_log common
<Directory /var/www/html>
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
vi /var/www/html/.htaccess //编辑规则文件,放/var/www/html下
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .? /404.html [L]
#配置请求不是文件或目录的直接跳到404.html
RewriteCond %{REQUEST_FILENAME} \.(gif|jpeg|png|jpg)$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://192.168.3.120
RewriteCond %{HTTP_REFERER} !baidu\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|bmp) error.jpg
#图片防盗链,只对网站有用,本地无效
RewriteCond %{REQUEST_URI} ^/allow
RewriteCond %{REQUEST_FILENAME} \.swf$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !baionew\.com [NC]
RewriteRule (.*) /allow/error.swf [R=301,NC,L]
#swf防盗链
#RewriteRule ^(\d+).html$ index.html?nid=$1 [L]
#RewriteRule ^(\d+)_(\d+)\.do$ next.html?cid=$1&nid=$2
#把数组转换成对应的nid的值,实现伪静态
#RewriteRule \.(jpg|jpeg|png|gif|bmp) noimg.htm
#不能访问所有图片
20、Swap的基本配置:
free -m //查看内存使用情况,含虚拟内存
swapon -s //cat /proc/swqps查看虚拟内存含文件和分区的详细信息
mkswap /dev/sdb2 //设置交换分区磁盘
swapon /dev/sdb2 //启用指定交换分区,记得写入/etc/fstab
交换文件的配置方案:
dd if=/dev/zero of=/swapfile bs=1024k count=2048 //创建2G交换文件
mkswap /swapfile //设置交换文件
swapon /swapfile //启用交换文件
/swapfile swap swap defaults 0 0 //写入/etc/fstab,开机引导启动
//删除交换分区或文件
swapoff /dev/sdb2 //关闭交换分区
vi /etc/fstab 删除对应项目
fdisk 或 rm 删除对应文件或分区
21、VSFTP的搭建与配置:
yum -y install vsftpd
vi /etc/vsftp/ftpusers //配置不允许登录ftp的帐号
vi /etc/vsftp/user_list //配置允许登录或者不允许登录,须配置vsftp.conf
vi /etc/vsftp/vstfp.conf
pasv_min_port=10020
pasv_max_port=10040 //限制端口,便于配置iptables
anonymous_enable=YES //允许匿名用户
anon_upload_enable=YES //允许匿名用户上传文件,目录须加写权限
chroot_local_user=YES //允许改变目录
chroot_list_enable=YES //允许查看列表
vi chroot_list_file=/etc/vsftpd/chroot_list //上面2项为YES,则里面的用户可以改变目录
//配置ftp目录,网速,端口等,/etc/vsftp/vsftp.conf
local_root=/ftp //配置所有帐号默认访问目录
max_per_ip=1 //最大连接数,同时登录用户数
local_max_rate=20480 //限制最大速度20K
22、NTP配置,时间同步
date +"%Y-%m-%d %H:%M:%S" //格式化时间
date -s 22:30:22 //设置时间
hwclock -r //查看硬件时钟
hwclock -s //把硬件时钟同步到软件时钟date
hwclock -w //把软件时钟写入硬件时钟
yum install -y ntp //安装NTP时间同步服务
/usr/sbin/ntpdate 0.asia.pool.ntp.org>/tmp/ntp.log && /sbin/hwclock -w//同步时间
//写入crontab,实现时间同步,或者开启ntp服务,不能同时使用
23、UBuntu系统的安装和Pear Linux及fedora的介绍
apt-cache search mysql //ubuntu搜索软件
apt-get install mysql //ubuntu安装软件
.deb //ubuntu的软件包后缀名
24、redis安装与配置:
a、下载redis源码包
b、安装gcc-c++环境 yum install gcc-c++
c、解压源码:tar -zxvf redis-3.0.0.tar.gz
d、进入解压后的目录:make
e、安装到指定目录: make install PREFIX=/usr/local/redis
一般安装目录下会有bin目录,就安装成功
redis的启动与关闭:
[root@itheima bin]# ./redis-server
强制关闭:Ctrl+c
正常关闭:[root@itheima bin]# ./redis-cli shutdown
后端启动:
[root@itheima bin]# cp /root/redis-3.0.0/redis.conf ./ 拷贝配置文件到bin目录
修改redis.conf文件,将daemonize改为yes
[root@itheima bin]# ./redis-server redis.conf //启动redis
强制关闭:[root@itheima bin]# kill -9 5071
正常关闭:[root@itheima bin]# ./redis-cli shutdown
客户端启动:
启动客户端命令:[root@itheima bin]# ./redis-cli -h 127.0.0.1 -p 6379
//外部连接注意防火墙配置安全问题
Redis的集群配置:
集群管理工具(redis-trib.rb)是使用ruby脚本语言编写的
yum install ruby 安装ruby
yum install rubygems
gem install redis-3.0.0.gem 安装ruby和redis接口,百度获取,版本不同
新建集群目录:redis-cluster
将redis-3.0.0包下src目录中的redis-trib.rb文件拷贝到redis/redis-cluster/
cp redis-trib.rb /usr/local/redis/redis-cluster
端口设计如下:7001-7006
[root@itheima redis19]# cp bin ./redis-cluster/7001 –r 复制出一个7001机器
[root@itheima 7001]# rm -rf appendonly.aof dump.rdb 如果存在持久化文件,则删除
配置redis.conf的集群参数:cluster-enable yes port 7001 //7002-7006多一样配置好
启动7001-7006这六台机器-脚本-注意赋给脚本运行权限 chmod 744 redis-start.sh:
cd 7001
./redis-server redis.conf
cd ..
cd 7002
./redis-server redis.conf
cd ..
cd 7003
./redis-server redis.conf
cd ..
cd 7004
./redis-server redis.conf
cd ..
cd 7005
./redis-server redis.conf
cd ..
cd 7006
./redis-server redis.conf
cd ..
利用rb语言脚本自动配置集群
./redis-trib.rb create --replicas 1 10.10.10.65:7001 10.10.10.65:7002 10.10.10.65:7003
10.10.10.65:7004 10.10.10.65:7005 10.10.10.65:7006
/为每个节点配置一个备份节点,前三个为主节点,后三个为备份节点
[root@itheima 7001]# ./redis-cli -h 192.168.242.137 -p 7001 -c 连接集群
cluster info 查看集群信息
cluster nodes 查看集群节点
注意防火墙的安全配置
停止集群
社区并没有提及集群的停止方法,经过实验后发现可以通过先停止所有从节点,再停止所有主节点
的方式完成此功能。如果先停止主节点的话,
可能会触发自动failover。启动时先启动所有主节点,再启动所有从节点。启动时将从cluster-
config-file中获取节点之前的角色。
升级集群
从节点升级很简单,只需要先停止节点服务,然后启动更新后版本即可。如果此过程中有客户端正
在使用此节点,当发现不可用时会重连到其它
从节点或者主节点。
如果升级主节点,过程稍微麻烦一点,可以按照下列步骤:
1. 使用cluster failover命令执行手动failover,将主节点转换为从节点;
2. 对转换后的从节点进行升级;
3. 再次执行手动failover,将从节点转换为主节点。
上述步骤只能对一个主节点进行升级,其余主节点升级,按照这些步骤执行多次即可。