Linux安装软件的方式-CentOs7
Linux安装外部软件介绍
服务器是每个程序猿都需要了解的一块知识,当然做UI等前端的猿类可能接触较少,但一般的后端开发对服务器的了解,也只是停留在会使用的层面,可能都服务器上的现有软件等资源的安装并不了解,当然,工作一年的我也是如此。
企业级开发应用服务器,服务器上所需的软件以及环境配置一般都是由运维人员提前下载并配置好的,向我这种普通的程序猿只要知道怎么使用服务器上的资源,并能利用现有资源完成自己的任务就万事大吉了。但这种状态不是我原本想要的,工作一年了,虽然每天都在进行代码开发、和服务器打交道,但是用到的好多组件都仅仅只是停留的会用的层面,心里很不爽,处于这个原因,决定自己研究并尝试去安装一些常规的软件。
Linux外部软件安装常见的3种方式
Linux服务器上软件的安装方法多式多样,本猿主要对源码安装、rpm安装和yum安装进行学习,并对其做了以下总结,归纳之前先简单介绍一下三种安装方式的区别:
- 源码安装:将对应的压缩包放到服务器上进行解压,并对其进行编译和安装,最后配置环境变量方可使用。
- rpm安装:不需要手动编译,但是有些软件在使用时需要依赖其它包,故需要先安装其所依赖的包,才能安装。
- yum安装:直接从远程源码库进行安装,会自动安装所依赖的其他包,但是这种方式需要在有网的环境下才能使用。
源码安装
网上有很多现成的.tar.gz或者tar.gz2的安装包,以安装jdk-8u171-linux-x64.tar.gz 和 nginx-1.8.1.tar.gz 为例。
jdk的源码安装
1.上传jdk-8u171-linux-x64.tar.gz到服务器
通过xshell等FTP文件传输工具,将本地的jdk-8u171-linux-x64.tar.gz包上传的服务器
2.解压jdk-8u171-linux-x64.tar.gz包
tar -zxvf jdk-8u171-linux-x64.tar.gz
解压后会在当前目录下生成一个jdk1.8.0_171的文件夹
3.配置jdk的环境变量
打开/etc/profile 配置文件,在文本的最后增加
#指定jdk的安装目录
export JAVA_HOME=/root/app/jdk1.8.0_171
#将jdk的bin目录追加到PATH环境变量中 windows中追加使用的";" linux中追加使用的是":"
export PATH=$PATH:$JAVA_HOME/bin
4.验证jdk是否安装成功
先执行source /etc/profile这个命令,使修改过的配置文件立即生效
[root@CentOs7-1 lib]# source /etc/profile
[root@CentOs7-1 lib]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
[root@CentOs7-1 lib]#
出现此提示就证明jdk安装成功
Nginx的源码安装
安装Nginx需要依赖gcc、gcc-c++、openssl-devel、pcre、pcre-devel、zlib、zlib-devel这几个包,其中gcc和gcc-c++是Nginx在编译时所依赖的;openssl-devel是安全协议;pcre和pcre-devel是正则表达式;zlib和zlib-devel是Gzip算法依赖的包。
- 安装Nginx所依赖的包(使用yum进行安装)
1.1安装gcc和gcc-c++
1.2 安装openssl-devel[root@CentOs7-1 lib]#yum install gcc gcc-c++ -y
1.3 安装pcre和pcre-devel[root@CentOs7-1 lib]#yum install openssl-devel -y
如果出现下面的提示,说明所安装的包之前已经安装过了:[root@CentOs7-1 lib]#yum install pcre pcre-devel -y
1.4 zlib zlib-devel[root@CentOs7-1 lib]#yum install zlib zlib-devel -y
- 将nginx-1.8.1.tar.gz压缩包上传到服务器上
- 解压
tar -zxvf nginx-1.8.1.tar.gz
解压完进入nginx-1.8.1目录
[root@CentOs7-1 app]# ll
total 0
drwxr-xr-x. 8 10 143 255 Mar 29 2018 jdk1.8.0_171
drwxr-xr-x. 8 1001 1001 158 Jan 26 2016 nginx-1.8.1
[root@CentOs7-1 app]# cd nginx-1.8.1/
[root@CentOs7-1 nginx-1.8.1]# ll
total 640
drwxr-xr-x. 6 1001 1001 4096 Jun 27 17:15 auto
-rw-r--r--. 1 1001 1001 251319 Jan 26 2016 CHANGES
-rw-r--r--. 1 1001 1001 383019 Jan 26 2016 CHANGES.ru
drwxr-xr-x. 2 1001 1001 168 Jun 27 17:15 conf
-rwxr-xr-x. 1 1001 1001 2478 Jan 26 2016 configure
drwxr-xr-x. 4 1001 1001 72 Jun 27 17:15 contrib
drwxr-xr-x. 2 1001 1001 40 Jun 27 17:15 html
-rw-r--r--. 1 1001 1001 1397 Jan 26 2016 LICENSE
drwxr-xr-x. 2 1001 1001 21 Jun 27 17:15 man
-rw-r--r--. 1 1001 1001 49 Jan 26 2016 README
drwxr-xr-x. 8 1001 1001 77 Jun 27 17:15 src
[root@CentOs7-1 nginx-1.8.1]#
- 执行configure文件,对Nginx进行基本的配置
./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_gzip_static_module --error-log-path=/var/log/nginx/nginx.log --pid-path=/var/log/nginx/pid
执行configure时在后面跟上几个选项,便可以对Nginx完成配置,上述涉及到的选项,其作用如下:
–prefix=PATH: 设置nginx的安装路径
–with-http_ssl_module: 使nginx开启http的安全协议
–with-http_gzip_static_module: 启动ngnix的静态缓存模块
–error-log-path=PATH: 存放nginx的错误日志
–pid-path=PATH: 存放nginx的相关进程ID
更多配置选项可以通过 ./configure --help 进行查看
- 编译
[root@CentOs7-1 nginx-1.8.1]# make
- 安装
[root@CentOs7-1 nginx-1.8.1]# make install
- 启动Nginx并验证Nginx是否安装成功
进入前面设置的Nginx的安装目录当中/opt/nginx,并进入sbin目录下执行nginx,至此Nginx启动成功。
[root@CentOs7-1 nginx-1.8.1]# cd /opt/nginx/
[root@CentOs7-1 nginx]# pwd
/opt/nginx
[root@CentOs7-1 nginx]# ll
total 4
drwx------. 2 nobody root 6 Jun 27 17:55 client_body_temp
drwxr-xr-x. 2 root root 4096 Jun 27 17:52 conf
drwx------. 2 nobody root 6 Jun 27 17:55 fastcgi_temp
drwxr-xr-x. 2 root root 40 Jun 27 17:52 html
drwxr-xr-x. 2 root root 24 Jun 27 17:55 logs
drwx------. 2 nobody root 6 Jun 27 17:55 proxy_temp
drwxr-xr-x. 2 root root 19 Jun 27 17:52 sbin
drwx------. 2 nobody root 6 Jun 27 17:55 scgi_temp
drwx------. 2 nobody root 6 Jun 27 17:55 uwsgi_temp
[root@CentOs7-1 nginx]# cd sbin/
[root@CentOs7-1 sbin]# ll
total 5080
-rwxr-xr-x. 1 root root 5201904 Jun 27 17:52 nginx
[root@CentOs7-1 sbin]# ./nginx
[root@CentOs7-1 sbin]# ps aux|grep nginx
root 4050 0.0 0.1 45788 1104 ? Ss 18:03 0:00 nginx: master process ./nginx
nobody 4051 0.0 0.1 46236 1852 ? S 18:03 0:00 nginx: worker process
打开浏览器,输入虚拟机的Ip地址加80端口(Nginx默认的端口号为80,可以不填),如果出现如下页面证明Nginx安装并启动成功。如果没有出现下面的页面,请检查对应虚拟机的防火墙是否关闭。
rpm安装
jdk的rpm安装
- 上传jdk-8u171-linux-x64.rpm包
[root@CentOs7-2 app]# ll
total 171156
-rw-r--r--. 1 root root 175262413 Jun 27 18:35 jdk-8u171-linux-x64.rpm
[root@CentOs7-2 app]#
- rpm安装jdk
[root@CentOs7-2 app]# rpm -ivh jdk-8u171-linux-x64.rpm
- 配置环境变量
在 /etc/profile 中添加下面代码
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
export PATH=$PATH:$JAVA_HOME/bin
- 验证jdk是否安装成功
//重新加载配置文件
[root@CentOs7-2 jdk1.8.0_171-amd64]# source /etc/profile
[root@CentOs7-2 jdk1.8.0_171-amd64]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
[root@CentOs7-2 jdk1.8.0_171-amd64]#
//出现上面的提示 证明jdk安装成功
Nginx的rpm安装
- 上传nginx-1.8.1-1.el7.ngx.x86_64.rpm包
[root@CentOs7-2 app]# ll
total 372
-rw-r--r--. 1 root root 380772 Jun 27 18:54 nginx-1.8.1-1.el7.ngx.x86_64.rpm
[root@CentOs7-2 app]#
- rpm安装Nginx
[root@CentOs7-2 app]# rpm -ivh nginx-1.8.1-1.el7.ngx.x86_64.rpm
- 启动Nginx并验证Nginx是否启动成功
[root@CentOs7-2 app]# cd /usr/sbin/
[root@CentOs7-2 sbin]# ll nginx
-rwxr-xr-x. 1 root root 899088 Jan 26 2016 nginx
[root@CentOs7-2 sbin]# ./nginx
[root@CentOs7-2 sbin]# ps aux|grep nginx
root 2725 0.0 0.1 45940 1144 ? Ss 18:59 0:00 nginx: master process ./nginx
nginx 2726 0.0 0.1 46316 1908 ? S 18:59 0:00 nginx: worker process
root 2749 0.0 0.0 112704 956 pts/0 S+ 18:59 0:00 grep --color=auto nginx
[root@CentOs7-2 sbin]#
浏览器输入当前虚拟机的Ip地址,出现下面页面证明Nginx安装并启动成功
yum安装
jdk的yum安装
- 查看yum源中jdk1.8的有包
[root@CentOs7-3 ~]# yum list java-1.8*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Available Packages
java-1.8.0-openjdk.i686 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk.x86_64 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-accessibility.i686 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-accessibility.x86_64 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-demo.i686 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-demo.x86_64 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-devel.i686 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-devel.x86_64 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-headless.i686 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-javadoc.noarch 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-javadoc-zip.noarch 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-src.i686 1:1.8.0.292.b10-1.el7_9 updates
java-1.8.0-openjdk-src.x86_64 1:1.8.0.292.b10-1.el7_9 updates
[root@CentOs7-3 ~]#
- 安装java-1.8.0-openjdk.x86_64
[root@CentOs7-3 ~]# yum install java-1.8.0-openjdk.x86_64 -y
- 验证jdk是否安装成功
[root@CentOs7-3 ~]# java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
[root@CentOs7-3 ~]#
出现以上提示,证明jdk安装成功。通过yum的方式安装jdk,系统会自动帮我们配置环境变量。相比于前两种安装方式,yum安装确实方便了不少。
Nginx的yum安装
- 添加Nginx的yum源
将下面的内容添加到 /etc/yum.repos.d/CentOS-Base.repo 中
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
- 安装nginx和nginx-module-perl.x86_64
[root@CentOs7-3 yum.repos.d]# yum install nginx nginx-module-perl.x86_64 -y
3.启动Nginx并验证Nginx是否成功
[root@CentOs7-3 yum.repos.d]# systemctl start nginx
浏览器输入当前虚拟机ip,出现以下页面,证明安装成功
服务器安装外部软件常用的三种方式,到此分享结束,如有书写不当的地方,希望热心的你可以在评论区指出,非常感谢。
最后祝愿所有猿类同胞工作顺利,少加班,多挣钱。感谢关注。
Life’s too short to be pissed off all the time.
生命太短暂,不能总是愤世嫉俗。——《美国X档案》