linux:
 操作系统,应用服务器上
 常用命令:
 cd 切换命令
 cd /
 cd ~
 cd ../../
 cd xx
 ll 展示所有的文件
 ll -h 友好的展示
 mkdir 创建目录
 mkdir 目录名
 mkdir -p a/b/b/b
 rmdir 移除目录
 rmdir 目录名 :移除空目录

 touch 文件名:创建一个空文件
 cp 文件名 目录/文件名:复制
 mv 文件名 目录/文件名:移动
 mv 文件名 新文件名:重命名

 rm 文件名:带询问的删除文件
 rm -f 文件名:不带询问的删除文件
 rm -rf 目录|文件:不带询问的递归文件

 tar: 打包|解压一个目录或者文件
 tar -cvf 文件名 目录:将指定的目录打包成一个指定的文件
 tar -zcvf 文件名 目录:将指定的目录打包并且压缩成一个指定的文件

 tar -xvf 文件名 :将指定的文件解压到当前目录
 tar -xvf 文件名 -C 目录:将指定的文件解压到指定的目录

 grep 查找
 | 管道

 ps -ef | grep java
 netstate -an | grep 3306

 kill -9 pid :强制结束一个进程

 ifconfig:查看当前网卡信息
 ping:查看网络是否通畅

 chmod 777 文件名
 chown 更改文件的归属者
/
任务1:在linux发布网上商城案例
1.安装jdk
 a.检测是否安装了jdk 运行java -version
 b.若有需要将其卸载
 c.查看安装那些jdk
 rpm -qa | grep java
 d.卸载
 先卸载 openjdk 1.7
 rpm -e --nodeps 卸载的包
 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686
 再卸载 openjdk 1.6 
 rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686
 e.安装jdk
 上传jdk 通过ftp软件上传(上传到root目录下)
 在 /usr/local创建一个 java目录
 mkdir java
 将上传的jdk复制到 java目录下
 cp /root/jdk.xxxxx.tar /usr/local/java
 将其解压
 tar -xvf jdk.xxx.tar
 f.安装依赖
 yum install glibc.i686
 g.配置环境变量
 编辑 vi /etc/profile
 在文件最后添加一下信息
 #set java environment
 JAVA_HOME=/usr/local/java/jdk1.7.0_72
 CLASSPATH=.:$JAVA_HOME/lib.tools.jar
 PATH=$JAVA_HOME/bin:$PATH
 export JAVA_HOME CLASSPATH PATH
 保存退出
 source /etc/profile 使更改的配置立即生效
2.安装mysql
 a.检测是否安装了mysql
 rpm -qa | grep mysql
 b.卸载系统自带的mysql
 rpm -e --nodeps 卸载的包
 rpm -e --nodeps mysql-libs-5.1.71-1.el6.i686 
 c.上传mysql
 d.在 /usr/local/ 创建一个mysql
 e.复制mysql 到 mysql目录下
 f.解压 tar
 会有几个rpm文件
 g.安装
 安装mysql的服务器端
 rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm
 注意:第一次登录mysql的时候没有不需要密码的 以后都需要
 安装mysql的客户端
 rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm
 h.查看mysql的服务状态
 service mysql status 
 启动 mysql
 service mysql start
 停止mysql
 service mysql stop

 i.修改mysql的root的密码
 登录:mysql -uroot
 修改密码:
 use mysql;
 update user set password = password('1234') where user = 'root';
 flush privileges;# 刷新
 j.开启远程访问
 grant all privileges on *.* to 'root' @'%' identified by '1234';
 flush privileges;
 k.开启防火墙端口 3306 退出mysql
 3306端口放行 
 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
 将该设置添加到防火墙的规则中
 /etc/rc.d/init.d/iptables save
 l:设置mysql的服务随着系统的启动而启动
 加入到系统服务:
 chkconfig --add mysql
 自动启动:
 chkconfig mysql on

3.安装tomcat
 a.在/usr/local/ 创建tomcat目录
 b.复制tomcat 到 /usr/local/tomcat
 c.解压tomcat
 d.启动tomcat 进入 bin
 方式1:
 sh startup.sh
 方式2:
 ./startup.sh
 e.开启端口号 8080
 8080端口放行 
 /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
 将该设置添加到防火墙的规则中
 /etc/rc.d/init.d/iptables save

 注意:
 查看日志文件
 tail -f logs/catalina.out
 退出 ctrl+c
4.发布项目
 a.数据库和表
 备份store28的数据库
 在windows下
 mysqldump -uroot -p1234 store28 > g:/1.sql
 将1.sql上传 root目录
 通过远程工具还原数据库
 先登录mysql
 创建数据库 store28
 进入store28
 source /root/1.sql

 b.项目
 将项目打包 war
 war包的特点:
 在tomcat/webapps目录下 只要tomcat启动 war会自动解压
 将store.war上传到虚拟机的root目录下
 将store.war移动到tomcat/webapps下即可
/// 
///
nginx:
 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器
 特点:
 反向代理 负载均衡 动静分离...
 反向代理 :
 先来了解正向代理:需要我们用户,手动的设置代理服务器的ip和端口号
 反向代理:代理服务器的,用户不需要设置.

 负载均衡:
 原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,
 多台服务器共同完成工作任务,从而提高了数据的吞吐量。
 动静分离:
 将静态的资源放到反向服务器,节省用户的访问时间.
///
用nginx在window上搭建一个集群
 1.在g盘新建两个目录 tomcat1 tomcat2
 2.修改tomcat2的端口 在tomcat1的端口上+10
 3.解压nginx
 修改nginx的 nginx.conf文件
 在locatioin / 下添加了反向代理
 proxy_pass 代理服务器
 这是只是代理一台服务器
 4.代理集群
 需要在http节点上添加一个
 upstream servlet_yujia{
 server 127.0.0.1:8080;
 server 127.0.0.1:8090;
 }
 修改location /下的反向代理 
 proxy_pass http://servlet_yujia
 5.session共享问题
 解决方式1:只能在window下好使
 web服务器解决(广播机制)
 注意:tomcat下性能低
 修改两个地方:
 1.修改tomcat的server.xml 支持共享
 将 引擎标签下的 
 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
 注释去掉
 2.修改项目的配置文件 web.xml中添加一个节点

 解决方式2:
 可以将session的id放入redis中
 解决方式3:
 保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了,在linux
 在nginx的配置文件中
 upstream中添加 ip_hash;


在linux搭建集群
 1.先将 nginx上传到linux上
 2.解压nginx
 3.先编译nginx
 安装依赖包
 yum install gcc-c++
 yum install -y pcre pcre-devel
 yum install -y zlib zlib-devel
 yum install -y openssl openssl-devel
 执行编译
 先进入 nginx的目录
 执行
 ./configure

 4.安装nginx
 执行 
 make
 make install
 5.启动nginx
 cd nginx目录下
 配置文件 conf
 启动nginx 
 ./nginx 
 6.将端口号80 放行
 /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
 将该设置添加到防火墙的规则中
 /etc/rc.d/init.d/iptables save
 7.修改conf文件 和window下一样
 配置集群