当前位置:   article > 正文

Linux系统四种安软方式_linux安装

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 上传

  1. #scp 源码文件路径 目标文件路径
  2. # 把本地文件上传到服务器 (当前Windows系统目录)
  3. scp ./*.* root@192.168.200.130:~/soft
  4. # 把远程服务器用户目录/soft下所有文件,下载到本地
  5. 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

  1. java version "1.8.0_181"
  2. Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
  3. 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
  1. mysql -u root -p
  2. 输入了 root 看不到

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

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

保证密码和本地一致

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

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

退出数据库命令操作

  exit;

8) 开放端口号

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

9) 客户端工具

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

cd /usr/local 下

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

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

  1. cd /usr/local
  2. #获取安装列表
  3. yum list | grep zip/unzip
  4. #提示输入时,请输入y
  5. yum install zip
  6. #提示输入时,请输入y
  7. yum install unzip

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

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

启动apache-tomcat-8.5.47

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

开放8080端口

  1. # 开端口命令
  2. firewall-cmd --zone=public --add-port=8080/tcp --permanent
  3. #重新加载配置
  4. 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网站用户有:百度、京东新浪网易腾讯淘宝等。

  • 安装前准备

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

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

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

  • 使用Nginx

  1. #进入nginx的sbin目录
  2. cd /usr/local/nginx/sbin
  3. #在sbin目录下启动
  4. ./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.   1. 访问原来无法访问的资源,如google
  2.   2. 可以做缓存,加速访问资源
  3.   3. 对客户端访问授权,上网进行认证
  4.   4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理

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

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

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

反向代理配置

  • 打开nginx默认配置文件

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

  1. http{
  2. upstream goods{
  3. server 192.168.200.130:8080;
  4. #server 192.168.200.129:8080;
  5. }
  6. server {
  7. listen 80;
  8. server_name localhost;
  9. location / {
  10. root html;
  11. #proxy_pass http://192.168.200.130:8080
  12. proxy_pass http://goods;
  13. index index.html index.htm;
  14. }
  15.     }
  16. }
  • 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 默认页面(不输入网页时,默认访问页)

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

  1. #进入nginx的sbin目录
  2. cd /usr/local/nginx/sbin
  3. #在sbin目录下停止
  4. ./nginx -s stop
  5. #重启
  6. ./nginx -s reload
  7. #在sbin目录下启动
  8. ./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中放行的规则

  1. #查看iptables列表,显示列表编号
  2. iptables -L -n --line-number
  3. Chain INPUT (policy ACCEPT)
  4. num target prot opt source destination
  5. 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
  6. 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
  7. 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
  8. 4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
  9. #删除iptables列表中 编号为1的规则
  10. 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不允许设置比较简单的密码策略)

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

set password = password('123456');

3. 授权远程连接

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

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

  1. /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
  2. 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文件中的末尾。

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

保存并退出

  • 加载环境变量

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

source  /etc/profile

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

  • 测试环境

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

如果出现:

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

  • 重新执行 source /etc/profile

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/404834
推荐阅读
相关标签
  

闽ICP备14008679号