Linux系统四种安软方式

Linux软件安装方式


本地安装

  1. 把需要的软件压缩包下载到linux主机,在主机上直接解压启动即可完成本地安装,即绿色版安装

  1. 把需要的rpm软件包下载到linux主机,在主机上使用rpm命令完成本地安装

  1. 把需要的源码包下载到linux主机,在主机上执行tar,./configure,make install 命令完成源码安装

源码安装

linux软件都是用C/C++程序开发,所谓源码安装,是直接提供程序源代码,需要自行编译,然后生成目标可执行程序。类似提供的.java文件,需要自己编译.class,然后打包为jar,然后运行。源代码形式的特点:操作复杂、编译时间长、极易出现问题、依赖关系复杂,比较适合于专门做linux系统开发的人员。

  1. 绝大多数开源软件都是直接以原码形式发布的

  1. 源代码一般会被打成.tar.gz的归档压缩文件

  1. 源代码需要编译成为二进制形式之后才能够运行使用

  1. 源代码基本编译流程:

1).configure 检查编译环境;

2)make对源代码进行编译;

3)make insall 将生成的可执行文件安装到当前计算机中

RPM安装

RPM 是 LINUX 下的一种软件的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。

  1. 安装软件:执行rpm -ivh rpm包名,如:rpm -ivh apache-1.3.6.i386.rpm

  1. 升级软件: 执行rpm -Uvh rpm包名。

  1. 卸载安装: 执行rpm -e rpm包名。

  1. 查询软件包的详细信息:执行rpm -qpi rpm包名

  1. 查询某个文件是属于那个rpm包的:执行rpm -qf rpm包名

  1. 查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名

一般使用步骤如下:

rpm –i software.rpm(安装);

rpm -e software.rpm(卸载);

rpm –U software.rpm(升级形式安装);

rpm –ivh http://www.linuxcast.net/software.rpm(支持通过http\ftp协议形式安装)

rpm软件包形式的管理虽然方便,但是需要手工解决软件包的依赖关系。很多时候安装一个软件安装一个软件需要安装1个或者多个其他软件,手动解决时,很复杂,yum可以轻松解决这些问题。

在线安装

YUM安装

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的软件包管理器,简单理解Yum是rpm的前端程序。它能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、统一的网络仓库。

其特点总结如下:

1) 自动解决依赖关系

2) 可以对rpm进行分组,基于组进行安装操作

3) 引入仓库概念,支持多个仓库

4) 配置简单

常规使用如下:

# yum install 安装;

# yum remove卸载;

# yum update 升级制定软件

软件安装与配置


部署环境(CentOS 7)

服务/软件

端口

备注

jdk8

-

JAVA的编译和运行环境

mysql/mariadb

3306

持久化关系型数据库

tomcat

8080

服务器

nginx

80

反向代理服务器

把拖拽软件中的所有软件拖拽到linux的 /opt目录中。

scp 上传

#scp 源码文件路径  目标文件路径
# 把本地文件上传到服务器 (当前Windows系统目录)
scp ./*.* root@192.168.200.130:~/soft
# 把远程服务器用户目录/soft下所有文件,下载到本地
scp root@192.168.200.130:~/soft/*.* ./

1、安装jdk【rpm本地安装】

1)查看当前linux系统是否已经安装java

输入 rpm -qa | grep java

如果有已经安装的jdk ,需要使用以下命令删除

2) 卸载JDK

rpm -e --nodeps <包的名字>

3) 上传jdk到linux

4)安装jdk

rpm -ivh jdk-8u181-linux-x64.rpm

5)java -version测试是否成功

java -version

展示以下内容代表OK

  java version "1.8.0_181"
  Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
  Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

2、安装mysql(mariadb)【yum在线安装】

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB

1)查看CentOS自带的mysql

输入 rpm -qa | grep mysql

2)将自带的mysql卸载

rpm -e --nodeps <包的名字>

3)yum安装

yum -y install mariadb-server

4)启动mysql

systemctl start mariadb

5)设置root密码

注:这只是设置root用户在本机(linux)登录时的密码

 mysqladmin -u root password 'root'

6)进入mysql

 mysql -u root -p
  mysql -u root -p 
  输入了 root 看不到 

进入到数据库的执行命令行里面了。

7)进入mysql,并执行下面sql

保证密码和本地一致

下面的话在mysql数据库里面里面执行

 -- 查看当前的数据库
  show databases;
  -- 打开mysql
  use mysql ;
  -- 查看所有表
  show tables;
  
  -- 我们不用ipv6的地址,直接把host改为%,表示所有客户端都可以连接;同时设置密码为root
  update user set host='%' ,password=password("root") where user='root' and host = '::1' ;
  -- 刷新后才能生效
  flush privileges;

退出数据库命令操作

  exit;

8) 开放端口号

  # 开放端口命令
  firewall-cmd --zone=public --add-port=3306/tcp --permanent
  #重新加载配置
  firewall-cmd --reload

9) 客户端工具

3、配置tomcat【本地安装--解压缩】

cd /usr/local 下

项目部署需要tomcat , 配置端口号。

  1. 下面需要使用uzip命令(根据当前系统情况而定,不是必须),先安装

  cd /usr/local
  #获取安装列表
  yum list | grep zip/unzip
  #提示输入时,请输入y
 yum install zip
   
  #提示输入时,请输入y
  yum install unzip 

解压tomcat压缩包到 /local目录下

unzip -d /usr/local apache-tomcat-8.5.47.zip

启动apache-tomcat-8.5.47

 #确保启动文件有可执行权限,先修改权限
chmod 755 /usr/local/apache-tomcat-8.5.47/bin/*.sh
 #启动
/usr/local/apache-tomcat-8.5.47/bin/startup.sh

开放8080端口

# 开端口命令
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#重新加载配置
firewall-cmd --reload

测试tomcat

启动两以上个tomcat,需要配置端口

4、安装Nginx 【本地安装--源码安装】

Nginx* (engine x) 是一个高性能的HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日,2011年6月1日,nginx 1.0.4发布。

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

  • 安装前准备

#安装Nginx依赖环境,-y表示所有提示默认选择y
#nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库:
yum -y install pcre pcre-devel  
#nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库:
yum -y install zlib zlib-devel  
#nginx不仅支持http协议,还支持https,所以需要在linux安装openssl库:
yum -y install openssl openssl-devel
# 安装gcc编译环境
yum -y install gcc gcc-c++ autoconf automake make
  • 源码安装

cd /opt
#解压,并进入解压文件夹
tar -xvf nginx-1.14.2.tar.gz 
cd /opt/nginx-1.14.2
#编译并安装配置 
./configure   配置
make     编译
# 安装的意思,就是把可执行文件复制到/usr/loca/nginx下
make install   安装

安装成功之后,就会在/usr/local下多出了一个nginx目录.

  • 使用Nginx

#进入nginx的sbin目录
cd /usr/local/nginx/sbin
 
#在sbin目录下启动
./nginx

#在sbin目录下停止----需要再用

 ./nginx -s stop

#在sbin目录下重写加载--需要再用

./nginx -s reload

#修改端口(默认端口80)---需要再用

vi /usr/local/nginx/conf/nginx.conf 配置文件

#开放80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent 

#重新加载配置

firewall-cmd --reload 

#查看是否有nginx的线程是否存在

ps -ef | grep nginx  netstat -an -t -u | grep 80

在浏览器输入:http://192.168.132.131/

部署Web项目


部署之前的综合案例,部署前先把数据库安装好,然后再把项目的war包copy到tomcat安装目录即可。

初始化项目数据库

  1. msyql客户端工具连接VM中的mysql

  1. 在客户端工具中初始化数据库脚本

部署项目war包

  1. 使用IDEA打包web程序为.war文件

  1. 停止当前的tomat服务器,执行bin/shutdown.sh

  1. 找到 apache-tomcat-8.5.47 --webapps 的ROOT目录,改名为ROOT-bak

  1. 把项目war包copy到apache-tomcat-8.5.47目录的webapps目录下

  1. 把项目 改名 为ROOT.war名字

  1. 启动Tomcat服务器,执行bin/startup.sh

修改配置文件并测试

jdbc.properties如果需要使用vim打开并修改。

在windows浏览器输入网址,并测试是否显示正常

如果显示不正常,请查看日志:

tail -f catalina.2021-05-16.log

Nginx反向代理


正向代理

正向代理类似一个中转站,代理内部访问外部资源。

举个例子:

  我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,它能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从那个网站的角度来看,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。

注意:客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。

总结来说:正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

正向代理的用途:

   1. 访问原来无法访问的资源,如google
   2. 可以做缓存,加速访问资源
   3. 对客户端访问授权,上网进行认证
   4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。反向代理的作用

  1. 保证内网的安全,可以使用反向代理提供防火墙(WAF)功能,阻止web攻击。大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。

  1. 负载均衡,通过反向代理服务器来优化网站的负载。当大量客户端请求代理服务器时,反向代理可以集中分发不同用户请求给不同的weab服务器进行处理请求。(本阶段不实现,负载均衡技术项目阶段讲解)

反向代理配置

  • 打开nginx默认配置文件

vi /usr/local/nginx/conf/nginx.conf
  • 定义location

http{
    upstream goods{
        server 192.168.200.130:8080;
        #server 192.168.200.129:8080;
    }
    server {
        listen       80;
        server_name  localhost;
        location / {
             root html;
             #proxy_pass http://192.168.200.130:8080
             proxy_pass http://goods;
             index index.html index.htm;
        }
    }  
}
  • http块 一个http处理模块,可进行http的相关参数配置,内可以包含多个server块;

  • upstream块 配置反向代理及负载均衡,可以写多个upstream块,是定义在server块前面。

  • server localhost:8080; localhost可以指向网络任何一台主机。

  • server块 包含在http{}内部,每一个server{}都是一个虚拟主机(站点)监听

  • listen 监听端口

  • server_name 用于与http请求header头部的Host匹配

  • location 路径配置,符合某个路径执行块内规则

  • / 代表根下资源

  • root html 是根下的资源,可以从html目录获取。

  • index 默认页面(不输入网页时,默认访问页)

需要重新刷一遍 效果会更好

 #进入nginx的sbin目录
   cd /usr/local/nginx/sbin
    
 #在sbin目录下停止
   ./nginx -s stop
   
   #重启
   ./nginx -s reload
   #在sbin目录下启动
    ./nginx

附录


安装iptables服务 【yum安装】

iptables是linux 系统自带的优秀且完全免费的基于包过滤的防火墙工具、它的功能十分强大、使用非常灵活、可以对流入、流出及流经服务器的数据包进行精细的控制。特别是它可以在一台非常低配置下跑的非常好。 centos系统,默认仅仅开放了22端口,其他端口需要使用iptables进行管理(开放、删除、保存规则等)

  • 安装iptables

yum install iptables-services
  • 添加规则 (比如开放8080端口)

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT  
  • 保存规则

service iptables save
  • 配置开机启动

把启动防火墙服务的命令,加入到开机启动的配置文件中即可。

vim  /etc/profile
  • 查看与删除iptables中放行的规则

#查看iptables列表,显示列表编号
iptables -L -n --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306 
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
#删除iptables列表中 编号为1的规则
iptables -D INPUT 1

安装Mysql【yum安装】

  • yum命令安装

 yum -y install mysql-community-server

如果出现如图所示,请参考【手动获取rpm文件】:

需要下载205M的资源,需要根据网络情况,等待比较久的时间。

安装完毕如下:

  • 手动获取rpm文件安装

在线获取rpm包

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

安装下载的rpm文件

rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装mysql-server

yum install mysql-server 
  • 启动mysql服务

  service mysqld start
  • 查看初始密码【5.7版本执行如下命令,5.6版本,默认密码是空】

  grep "password" /var/log/mysqld.log
  • 登录mysql

  mysql -u root -p

输入初始密码,可以复制密码,并粘贴到输入密码的位置

  • 设置root密码

  1. 修改安全策略 (mysql5.7不允许设置比较简单的密码策略)

set global validate_password_policy=0;
set global validate_password_length=1;
  1. 设置密码:

set password = password('123456');

3. 授权远程连接

默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启远程登录mysql的权限

grant all privileges on *.* to 'root' @'%' identified by '123456';
flush privileges;
SET PASSWORD FOR 'root'@'%'= PASSWORD('123456');
  • 开放3306端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save

安装与配置JDK [解压缩安装]

  • tar -xvf 解开压缩包到指定目录

tar -xvf jdk-8u211-linux-x64.tar.gz -C /usr/local
  • 编辑配置文件,并配置环境变量

全局配置或当前用户配置,二选一即可。

全局配置文件: vim /etc/profile 或 用户配置文件 vim ~/.bash_profile 推荐前者。

vim  /etc/profile

将以下代码复制到profile文件中的末尾。

#set java environment
JAVA_HOME=/usr/local/jdk1.8.0_211/
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH 

保存并退出

  • 加载环境变量

source /etc/profile 或 source .bash_profile ,推荐前者。

source  /etc/profile

不出现任何提示,说明环境加载成功。

  • 测试环境

输入 java或javac ,出现如下提示即为环境配置成功

如果出现:

  • 前面的路径没有设置正确,请重新检查profile文件设置的路径与磁盘路径是否一致

  • 重新执行 source /etc/profile

  • 1
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值