安装虚拟机
选择custom安装
选择安装路径。后续直接点击下一步即可安装成功。
附注序列号:
JF09R-AU34Q-7Z6R8-JKAN0-9C7QJ
HY4KG-6KK47-CZCC1-Y8CQ4-13DK1
0U28Q-DP31H-QZL68-8J0QH-AAUK4
0F0PV-AWJ0L-GZLM0-H1874-CA839
0A6H6-4DL4N-KZQX9-Y09QH-9AF3G
虚拟出一台安装CentOS的机器。
File>new virtual machine > 选择 典型

选择稍后安装iso镜像文件

选择下一步

点击下一步

选择虚拟设备安装路径。点击下一步

一般只需要不配置 磁盘大小10GB。

直接点击finish 完成虚拟机的初始化工作。
CentOS安装步骤:
①使用虚拟光驱加载CentOS安装镜像。
②点击开机即可进入安装界面
选择第一个 即可
跳过 媒体检测 skip
选择下一步
选择 英文
选择 英文键盘
选择 base storage device
选择discard anydata 清楚磁盘数据。

给 root 用户指定密码 默认是 123456
耐心等待安装结束,结束之后需要重启虚拟的计算机。
重启系统 输入用户名:root 密码:123456登录系统查看系统ip:
关闭CentOS防火墙:
1.关闭防火墙服务:
service iptables stop|start|restart|status
2.将防火墙彻底移除开机启动
chkconfig --del iptables
附注:chkconfig --add iptables 添加服务到启动列表。
工具介绍:winscp 可以灵活的操作远程服务器上的文件。
SecureCRT/xshell 远程交互窗口 专门执行shell 脚本命令。
指令学习任务:
ls/pwd/touch/cat/more/less/head/tail/chmod/cp/mv/rm/ln/which/whereis/find
grep/tar/ifconfig/ps/pstree/top/kill/echo
软件安装指令:rpm、make,
ls命令: -[a] [l] [R]
ls -a [path] 查看当前路径下的文件列表
ls -l [path] 长列表形式展示 文件类型 权限 用户 用户组 连接数 大小 时间
ls -R [path] 递归显示指定目录下的文件或者文件夹
附注:也有人使用ll命令快速查看文件列表
pwd命令:打印当前的目录结构
mkdir:构建文件夹
[root@CentOS ~]# mkdir -p aa/{bb,cc,dd}
附注:一次性创建多级目录
cd:change directory 切换目录
touch:创建一个空的新文件 如果文件存在则不创建。
附注:使用vi指令也可创建一个新文件。
cp:文件复制
cp [-R] dir1 dir2
附注:支持通配符* , ?
mv:文件的移动 也可以用来修改文件的名字。
rmdir:删除空目录
rm:删除文件或者文件夹替换rmdir
rm [-rf] 目录、文件
查看文本文件内容:cat
chmod:修改文件权限
chmod [u|g|o|a] [rwx] -R 文件、目录
ln:创建超级连接 类似windows的快捷方式
ln -s source linkname
which/whereis/find
find 路径 -name 文件名
grep:查找文件内容
grep 字符串 文件名
ps、pstree、top 查看进程:
ps [-ef|-aux] | grep ‘关键词’
kill :强制关闭系统进程
kill -9 系统进程号
tar :压缩和解压缩
压缩:tar -zcf 压缩文件名 source
tar -zxf 解压文件 [-C 解压目录]
软件安装:
解压缩安装(tomcat为例)、rpm 安装(JDK安装)、编译安装(源码编译),yum安装 联网(帮助解析安装rpm依赖)
RPM安装 JDK、Tree
[root@CentOS ~]# rpm -ivh jdk-7u79-linux-i586.rpm
Preparing... ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
jfxrt.jar...
plugin.jar...
javaws.jar...
deploy.jar...
查询:rpm -qa 关键字
卸载:rpm -e 包名
2.解压安装 tomcat为例
[root@CentOS ~]# tar -zxf apache-tomcat-6.0.45.tar.gz -C /usr
附注:环境变量配置
系统变量配置:/etc/profile | /ect/bashrc
用户变量 :用户的home文件下有隐藏文件 .bashrc/.bash_profile
配置内容:
CLASSPATH=.
JAVA_HOME=/usr/java/latest
PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH
export JAVA_HOME
export PATH
启动tomcat:
[root@CentOS ~]# tar -zxf apache-tomcat-6.0.45.tar.gz -C /usr/
[root@CentOS ~]# cd /usr/apache-tomcat-6.0.45/
[root@CentOS apache-tomcat-6.0.45]# ./bin/startup.sh
打开浏览器访问如果访问不到考虑防火墙是否关闭。
[root@CentOS apache-tomcat-6.0.45]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
注意:如何查看Tomcat的实时日志
tail -f xxx/apache-tomcat-6.0.45/logs/catalina.out 即可
源码编译安装:
gcc依赖必须
nginx安装为例:
①安装gcc
②安装pcre-devel/zlib-devel
1,解压源码文件观察有没有MakeFile文件。如果有直接在当前目录下make即可完成编译
否则一般都会提供configure执行脚本用来生成MakeFile文件。
./configure
make
make clean
Make install //先别玩
Memcache安装案例
①gcc依赖
②lib-event
1,解压源码文件观察有没有MakeFile文件。如果有直接在当前目录下make即可完成编译
否则一般都会提供configure执行脚本用来生成MakeFile文件。
./configure
make
make clean
MySQL安装
[root@CentOS mysql-server]# rpm -Uvh mysql-libs-5.1.73-7.el6.i686.rpm
warning: mysql-libs-5.1.73-7.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:mysql-libs ########################################### [100%]
[root@CentOS mysql-server]# rpm -ivh mysql-server-5.1.73-7.el6.i686.rpm mysql-5.1.73-7.el6.i686.rpm perl*
warning: mysql-server-5.1.73-7.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:perl-Pod-Escapes ########################################### [ 10%]
2:perl-libs ########################################### [ 20%]
3:perl-Module-Pluggable ########################################### [ 30%]
4:perl-Pod-Simple ########################################### [ 40%]
5:perl-version ########################################### [ 50%]
6:perl ########################################### [ 60%]
7:perl-DBI ########################################### [ 70%]
8:perl-DBD-MySQL ########################################### [ 80%]
9:mysql #################### ###################### [ 90%]
10:mysql-server ########################################### [100%]
①启动MySQL服务
[root@CentOS mysql-server]# service mysqld status 启动MySQL服务,第一次启动的时候MySQL会初始化数据库文件:
Initializing MySQL database: WARNING: The host 'CentOS' could not be looked up with resolveip.
This probably means that your libc libraries are not 100 % compatible
with this binary MySQL version. The MySQL daemon, mysqld, should work
normally with the exception that host name resolving will not work.
This means that you should use IP addresses instead of hostnames
when specifying MySQL privileges !
Installing MySQL system tables...
.....
Please report any problems with the /usr/bin/mysqlbug script!
[ OK ]
Starting mysqld: [ OK ]
②指定root用户的密码
[root@CentOS ~]# mysqladmin -u root password 'root'
③登陆
[root@CentOS ~]# mysql -u root -proot
④配置服务开机自启动
[root@CentOS ~]# chkconfig --add mysqld
分布式缓存 Memcache
1.在分布应用环境下管理session 使用户状态统一,转移因为session给应用服务器带来的内存压力;真正实现了应用的高可用(不会因为应用服务器宕机 导致用户状态信息丢失)
2.memcache实现分布式缓存 ,通过memcache服务缓存应用数据,解决了传统缓存在分布式环境下的一些弊端(缓存冗余,命中率低,穿透率高)
Memcache安装 略。
/configure
make
启动memcache :
./memcached -p 11211 -vvv -u root
Memcache API 自己补充
memcached 1.4.4
-p <num> TCP port number to listen on (default: 11211)
-U <num> UDP port number to listen on (default: 11211, 0 is off)
-s <file> UNIX socket path to listen on (disables network support)
-a <mask> access mask for UNIX socket, in octal (default: 0700)
-l <ip_addr> interface to listen on (default: INADDR_ANY, all addresses)
-d run as a daemon
-r maximize core file limit
-u <username> assume identity of <username> (only when run as root)
-m <num> max memory to use for items in megabytes (default: 64 MB)
-M return error on memory exhausted (rather than removing items)
-c <num> max simultaneous connections (default: 1024)
-k lock down all paged memory. Note that there is a
limit on how much memory you may lock. Trying to
allocate more than that would fail, so be sure you
set the limit correctly for the user you started
the daemon with (not for -u <username> user;
under sh this is done with 'ulimit -S -l NUM_KB').
-v verbose (print errors/warnings while in event loop)
-vv very verbose (also print client commands/reponses)
-vvv extremely verbose (also print internal state transitions)
-h print this help and exit
-i print memcached and libevent license
-P <file> save PID in <file>, only used with -d option
-f <factor> chunk size growth factor (default: 1.25)
-n <bytes> minimum space allocated for key+value+flags (default: 48)
-L Try to use large memory pages (if available). Increasing
the memory page size could reduce the number of TLB misses
and improve the performance. In order to get large pages
from the OS, memcached will allocate the total item-cache
in one large chunk.
-D <char> Use <char> as the delimiter between key prefixes and IDs.
This is used for per-prefix stats reporting. The default is
":" (colon). If this option is specified, stats collection
is turned on automatically; if not, then it may be turned on
by sending the "stats detail on" command to the server.
-t <num> number of threads to use (default: 4)
-R Maximum number of requests per event, limits the number of
requests process for a given connection to prevent
starvation (default: 20)
-C Disable use of CAS
-b Set the backlog queue limit (default: 1024)
-B Binding protocol - one of ascii, binary, or auto (default)
-I Override the size of each slab page. Adjusts max item size
(default: 1mb, min: 1k, max: 128m)
Memcache和MyBatis 自行完成
Memcache和Tomcat集成方案:
往tomcat的lib目录下添加如下jar文件
配置tomcat当中conf/context.xml (sticky session)
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.100.128:11211,n2:192.168.100.128:11212"
failoverNodes="n1"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
(non-sticky session)
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.100.128:11211,n2:192.168.100.128:11212"
sticky="false"
sessionBackupAsync="false"
lockingMode="uriPattern:/path1|/path2"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>