1.最小安装使用之前的准备
Linux安装软件
- rpm安装:本地有安装包,使用命令进行安装,如果安装包依赖其他安装包,要保证其它安装包先下载安装
- 本地程序安装: rpm -ivh 程序名
- 本地程序查看: rpm -qa
- 本地程序卸载: rpm -e --nodeps 程序名
- yum安装:rpm在线安装,yum会自动下载安装包安装,如果安装包依赖其他安装包,会自动下载所有的依赖包
- 脚本安装
- 安装wget下载工具
yum install wget
配置阿里镜像源
- 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
- 运行 yum makecache 生成缓存
安装网络命令组件
//查找组件
yum search ifconfig
//安装组件
yum install -y net-tools.x86_64 -y全部允许
安装vim
默认最小版的文本编辑器只有vi命令,vim是vi的增强版
yum install -y vim*
-y 是参数,默认不要确认,直接安装
2.常用命令
- clear 清屏
- pwd 查看当前所在的目录位置
- cd 目录切换
- cd / 切换到根目录
- cd . 当前目录
- cd … 切换到上层目录
- cd- 只能和最近一次的上一个目录进行切换
- cd~ 回到家目录
- 相对路径:相对当前的位置
- 绝对路径:以/开头,代表根目录
- 查看目录结构
- ls
- ls –a 显示隐藏文件
- ls –l 简写成ll 展示详细列表
- 文件类型
- l开头类型于windows的快捷方式
- d开头文件夹
- -开头文件
- 文件
- bin:可执行文件
- etc:配置文件
- home:其他用户的家目录 /home/zs
- root:最高管理员root账号的根目录
- usr/local/src::软件安装包建议放在这
- 目录(文件夹directory)操作
- mkdir 创建目录
- mkdir –p 多层目录一次创建
- mv 重命名 原位置和目标位置相同
- mv 剪切 原位置和目标位置不同
- cp 复制 cp –r 源位置 目标位置 -r递归复制
- rm 删除文件夹 rm –rf -f强制删除不提示
- 文件操作
- touch 文件名 创建文件
- cat 查看文件内容
- more 分页查看,空格翻页
- less pageUp/pageDown翻页 q退出
- 编辑文件
- vim-----进入文件,命令模式------i/o/a-------编辑模式------编辑结束,ESC------进入底行模式
- -----------:q!退出不保存
- -----------:wq保存退出
- 使用第三方编辑软件连接
文件重命名,复制,剪切,删除和目录的操作一样 - 压缩解压
- tar –zcvf 压缩文件.tar.gz 要打包或者压缩的文件或者文件夹
- tar –zxvf 压缩文件.tar.gz
- tar –zxvf 压缩文件.tar.gz –C 解压的目标位置
- 查看进程
- ps –ef 查看所有进程
- rpm –qa 查看所有安装软件
- 管道命令:rpm –qa | grep –i 关键字
- kill -9 进程id 杀死进程
- 查看端口
- netstat –an
- 权限命令
- 权限:除去文件类型,后面9位,3个为1组,每组分配权限,r可读w可写x可执行-不能
- 属主权限:创造者
- 属组权限:和创建者在一个组的其他用户
- 其他用户权限:其他
8421
1111
可读可写可执行 分7
可读可执行 分5
chmod 对应的权限 文件/文件夹
JDK的安装
注意:rpm与软件相关命令 相当于window下的软件助手 管理软件
- 查看当前Linux系统是否已经安装java,如果有的话卸载
rpm -qa | grep -i java -i忽略大小写
rpm -e --nodeps 要卸载的软件 - 上传jdk到linux下面的/usr/local/src/java(java文件夹自己创)
- 解压jdk
tar -zxvf jdk-7u71-linux-i586.tar.gz - 配置jdk环境变量
打开/etc/profile配置文件vim /etc/profile
,将下面配置拷贝进去
#java environment
export JAVA_HOME=/usr/local/src/java/jdk1.8.0_221
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
- 重新加载/etc/profile配置文件
source /etc/profile
Mysql安装
- 查看CentOS自带的mysql
rpm -qa | grep -i mysql
rpm -qa | grep mariadb - 将自带的mysql卸载
rpm -e --nodeps 软件名 - 上传Mysql到linux下面的/usr/local/src/mysql(mysql文件夹自己创)
- 安装perl依赖环境
yum install perl - 在/usr/local/src/mysql下安装mysql
安装服务器端:rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
安装客户端:rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm - 启动mysql
systemctl start 服务名
systemctl stop 服务名
systemctl restart 服务名 - 登录mysql
mysql –uroot –p
默认密码为空 - 修改mysql的密码.
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h CentOS7-01 password 'new-password'
- 开启mysql的远程登录
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启远程登录mysql的权限,登录mysql后输入如下命令:
grant all privileges on . to ‘root’ @’%’ identified by ‘123456’;
flush privileges; - 开放Linux的对外访问的端口3306,将修改永久保存到防火墙中
运行命令,可以看到zone名称
firewall-cmd --get-active-zones
执行如下命令命令:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙,运行命令:
firewall-cmd --reload
查看端口号是否开启,运行命令:
firewall-cmd --query-port=3306/tcp
- 配置文件+编码
在数据库中查看编码:show variables like ‘%ch%’;
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
添加配置文件
vim my.cnf
character_set_server=utf8 - 重启mysql
systemctl restart mysql
5.Tomcat安装
1.上传Tomcat到linux下面的/usr/local/src/tomcat(tomcat文件夹自己创)
2.解压Tomcat
tar -zxvf apache-tomcat-7.0.57.tar.gz
3.开放Linux的对外访问的端口8080
firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙,运行命令
firewall-cmd --reload
查看端口号是否开启,运行命令:
firewall-cmd --query-port=8080/tcp
4.启动关闭Tomcat
进入tomcat的bin下启动:./startup.sh
进入tomcat的bin下关闭:./shutdown.sh
nginx
- 什么是nginx
- Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
- web无服务
- Tomcat JavaWeb
- IIS ASP.NET(aspx ashx)
- Nginx 只能直接处理静态资源,图片服务器
- 应用场景
- http服务器
Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器 - 虚拟主机
可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机 - 反向代理,负载均衡
当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况
- nginx安装
- 需要安装gcc的环境
yum install gcc-c++
- 第三方的开发包
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库
yum install -y pcre pcre-devel
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
- 安装步骤
- 把nginx的源码包上传到linux下面的/usr/local/src/nginx(nginx文件夹自己创)
- 解压文件
- 进入nginx根目录,使用configure命令创建makeFile文件
./configure - make
- make install
安装完成
- 启动nginx
- 进入sbin目录 ./nginx
- 查看端口是否占用 netstat -an | grep 80
- 关闭nginx: ./nginx -s stop
- 推荐使用: ./nginx -s quit
- 重启nginx: ./nginx -s reload
- 访问关闭防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --query-port=80/tcp - HTTP服务器
默认只能解析静态资源 - 虚拟主机
一个域名对应一个唯一的IP地址
一的IP地址可以对应多个域名
在一个服务器上部署多个网站,不同的网站对应的是同一个IP地址,如何区分
- 通过端口区分
- 通过域名区分
www.baidu.com域名----DNS服务器----IP地址
通过修改hosts,来模拟ip地址,类似DNS服务器,hosts文件是windows本地的域名映射
反向代理
正向代理:相对上网的客户用户而言
反向代理:相对服务器而言,Nginx不能部署动态资源的,用户请求Nginx,Nginx把请求转发给Tomcat
负载均衡
复制Tomcat,使用8081端口,修改三个port+1
默认是轮询
可以设置权重