Linux基础(软件管理(RPM装包、yum命令、Epel 镜像安装、nginx&Tomcat源码包下载安装、nginx的IP地址解析、正反向代理、Tomcat&ngnix负载均衡))
文章目录
Linux操作系统基础
软件管理
(一)RPM装包
1.概述
RPM(RedHat Package Manager)一种通过资料库管理的方式将所需要的软件安装到主机上的管理程序。
RPM包的名称,例如:httpd-manual- 2.0.40-21.i386.rpm:
httpd-manual -----> 软件包名称
2 -----> 主版本号
0 -----> 次版本号
40 -----> 次版本号
21 -----> 编译的次数
i386 -----> 适合的平台
rpm -----> 说明是一个RPM包
2. yum
yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。
3. 安装rpm包
以安装 httpd 包为例,httpd是Apache超文本传输协议(HTTP)服务器的主程序。
- 配置本地Yum仓库
- 搭建一个本地Yum,将RHEL光盘手动挂载到 /media:
mount /dev/cdrom /media/

查看media目录,Package里面的软件包数量:

- Yum客户端需编辑配置文件,必须进入这个目录:
cd /etc/yum.repos.d/ - 创建一个.repo文件并编辑:
vim dvd.repo
[dvd]
name=rhel7.6
baseurl=file:///media
gpgcheck=0 此项为是否检查签名,1为检测, 0为不检测
- yum repolist 查看(开启的)资源库

- 安装:
yum install -y httpd
yum list httpd:列出所有可安裝的软件包
yum search httpd:查找软件包
rpm -q httpd: 查看httpd包是否安装

安装完成!
rpm -qp --scripts httpd-2.4.6-88.el7.x86_64.rpm 用来查看rpm包里的pre和post install脚本。
4. 测试使用
开启之前关闭防火墙:systemctl stop firewalld
- 开启服务:
systemctl start httpd - 在浏览器中输入自己的ip访问网址,即可访问成功:

- 创建一个html页面:进入目录:
cd /var/www/html,编写一个html页面:vim index.html
<h1>Hello!!</h1>
刷新页面:

(二)Epel 镜像安装
- 网址:阿里云Epl镜像
- 选择自己的版本号安装镜像:(这里选择rhel7)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

- 查看

- 选择需要的软件包,下载:
使用yum命令查看和安装 :yum list、yum install
(三)Tomcat服务器源码包下载安装
1. 下载tar.gz源码包
2. 安装测试
- 解压文件:
tar zxf apache-tomcat-7.0.103.tar.gz - 进入Tomcat的bin目录:

- 启动Tomcat服务器
./startup.sh,默认使用8080端口(启动前注意,防火墙问题!)

- 编写.jsp页面测试:
进入 webapps下的ROOT里面编写,默认访问的是 index.jsp

vim test.jsp:
<%@ page contentType="text/html;charset=UTF-8" %>
<%out.print("Hello,world!!");%>
测试 :

(四)nginx
一、源码包下载&安装
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。
- 源码包下载官网:nginx官网
- 下载安装:
- 解压文件:
tar zxf nginx-1.16.1.tar.gz

- 进入目录,检测环境:
./configure

发现error:error: C compiler cc is not found,没有c编译环境,安装gcc:yum install -y gcc - 继续检测环境:
./configure,发现error继续安装需要的环境,yum install -y xxx-devel,直到error没有,检测完成:

- 添加一些配置:如安装目录和模板设置
./configure --prefix=/usr/local/nginx --with-http_ssl_module - 编译:使用命令:
make - 安装:
make install - 查看:

- 启动:进入/sbin目录,启动命令
./nginx,默认启动使用80端口,(命令netstat -antlp,查询本机各端口的网络连接情况,如果80端口被 httpd 占用,使用命令systemctl -stop httpd,先停止httpd服务,再启动nginx) - 访问页面:

二、解析IP地址
进入目录编辑配置:vim /etc/hosts ,这里我将默认解析为 www.hello.com:

当我们访问 www.hello.com 时,即可进入nginx的主页:

三、正向代理
客户端发送了一个指向目标服务器的请求,但并不能访问到服务器,需要通过代理服务器转交请求并将获得的内容返回给客户端,客户端需要进行一些配置才能使用正向代理,就像“搭梯子”访问国外的网站一样;客户端知道要访问真正的服务器,代理的是客户端。

四、反向代理
对客户端来说反向代理服务器就是目标服务器,客户端向反向代理服务器的命名空间中的内容发送请求,然后由反向代理服务器转交请求,并将内容返回给客户端,它是将目标服务器的内容“偷取”回来,作为自己的内容返回给客户端,客户端不知道要访问真正的服务器,代理的是客服务端。

进入nginx的 conf 目录,编写配置文件,vim nginx.conf:增加一个反向代理为8080端口服务:
location ~\.jsp$ {
proxy_pass http:127.0.0.1:8080;
}
进入nginx 下的sbin目录,输入命令./ngxin -t,检查语法,successfu后,刷新nginx,./nginx -s reload;
访问上面编写的test.jsp页面,加/test.jsp即可访问到8080端口的页面,而自己的主机并没有开放8080端口:

(五)Tomcat&ngnix负载均衡集群
- 一台Tomcat站点可能出现故障等问题,不能单独应用于生成环境。

- 模拟搭建
Ngnix服务器:10.1.1.10
Tomcat服务器01:10.1.1.1
Tomcat服务器02:10.1.1.2
三台服务器配置在同一网卡中(eth1),并配置IP地址:
vim /etc/sysconfig/network-scripts/ifcfg-eth1
# 重启
ifdown eth1
ifup eth1
ngnix服务器配置:在ngnix.conf文件中配置
HTTP配置部分
在http{…}区域添加:
# 给当前的调度功能命名为:tomcat_server
# 当有人访问时将请求转发到10.1.1.1或10.1.1.2的服务器上,根据weight权重值的设置而定
upstream tomcat_server{
server 10.1.1.1:8080 weight=1;
server 10.1.1.2:8080 weight=1;
}
这里为了实验效果将weight权重值设置为相同,效果就是刷新也面两台tomcat服务器上的页面交互出现。
在location{…}区域添加:
proxy_pass http://tomcat_server;
配置完成!
//下篇再见…谢谢

更多推荐
所有评论(0)