linux-软件的安装与部署、web应用部署到阿里云

发布于:2025-05-18 ⋅ 阅读:(13) ⋅ 点赞:(0)

一、软件安装方式概述

CentOS安装软件的方式主要包括:

- 源码安装
- rpm安装(二进制安装)
- yum安装(在线安装)

1.源码安装:

源码包是指C等语言所开发的源代码文件的一个压缩包,通常压缩为.tar.gz或.tar.bz2。源码通常需要编译器将其编译成二进制文件,如gcc编译器。
优点:
(1)开源,有能力者可以修改源代码;特别是要对某个软件,从头开发时,就特别需要对源码进行解读分析。
(2)可自由选择所需功能;
(3)卸载方便,直接删除目录即可。
(4)对于学习者而言,源码安装更有利于学习者发现软件环境和工具之间所依赖的关系。
缺点:
(1)安装麻烦,需要自行解决工具之间的依赖关系。
(2)某些软件编译过程耗费的时间较长,我曾发生过编译两三天的情况。尤其是在不合适的硬件上,安装大型软件时,最容易折磨人,甚至要考虑系统与硬件的兼容性、配置等问题,系统本身有缺陷,那就更要命了,有时需先修补系统bug【主要是功能不齐全,残缺情况居多】
(3)大型软件编译,对新手来说较为麻烦,所报错误往往超过所能解决的范围,排错过程有可能会把系统给搞崩溃。

2.rpm安装:

RPM包:由Red Hat公司开发的包管理系统,软件的安装、升级、卸载都非常简单和方便。目前很多Linux发行版都在使用这种包管理机制,包括CentOS、Redhat、Fedora等。软件包文件后缀是".rpm"。

DPKG包:由Debian Linux开发出来的包管理机制,主要应用在Debian和Unbuntu系统中。软件包文件后缀是".deb"。

优点:

(1)包安装与管理简单,往往仅通过几个命令即可实现包的安装、升级、查询和卸载。

(2)通常安装速度要比源码安装快很多;

缺点:

(1)二进制文件,看不到源码了,修改和分析源码已不太可能。

(2)模块功能已经被定制,用户功能选择远不如源码灵活;

(3)有时也需要解决依赖性的问题,此时解决依赖性有一定的困难。

3.yum安装:

yum软件仓库是为了进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术。

yum的关键之处是要有可靠的respository(保证能够连接互联网,还需要保证它是一个互联网上正常可用的仓库)。

它能够从指定服务器自动下载rpm包并安装。yum能够自动解决软件依赖性问题,一次性安装所有依赖的软件包。

4.yum安装与卸载的相关命令

安装命令:yum -y  install  软件名
升级命令:yum -y  install  软件名
升级所有软件:yum -y  install
卸载命令:yum  remove  软件名
列出可安装的软件包:yum list
列出已安装的软件包:yum list installed
查询某个软件包:yum  list  软件名
根据关键字搜索软件包:yum search  Keyword
清除缓存:yum clean all

二、JDK的安装与配置

1.从yum仓库中搜索jdk:yum search jdk

2.安装jdk:

yum -y install java-17-openjdk-devel.x86_64

3.看看jdk的安装目录:

  • which java

  • ls -l /usr/bin/java

  • ls -l /etc/alternatives/java

4.centos当中配置环境变量,在/etc/profile文件中配置环境变量:

注意:windows操作系统当中使用 ;进行分割路径

linux操作系统当中,环境变量路径和路径之间采用 :分割

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.14.0.7-2.el9.x86_64

export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

windows当中取环境变量  JAVA_HOME=xxxxx           %JAVA_HOME%

linux当中$JAVA_HOME

注意:上面版本没对上,写错了,记得要改

5.生效:source /etc/profile

三、Tomcat服务器的安装与配置

1.Tomcat是Java语言实现的,因此使用Tomcat服务器的前提是:已经安装并配置了Java环境。

2.下载Tomcat

3.使用FTP工具将以上压缩包上传到CentOS。

4.解压到当前目录下

5.第三方软件一般存放在/usr/local目录下,使用mv命令tomcat移动到该目录下

6.为了方便配置环境变量,将目录名重命名

现在Tomcat服务器的根路径是:/usr/local/tomcat10

7.配置环境变量

让环境变量生效:

8.启动Tomcat

9.查看服务器IP地址

10.关闭防火墙

11.打开windows上的浏览器,输入地址访问

12.关闭tomcat服务器

服务器关闭之后,重新打开一个全新的浏览器,再次输入访问地址,会发现无法访问了。

四、 MySQL的安装与配置

1.MySQL8的安装

以下是在CentOS Stream系统上安装MySQL8的步骤:

更新系统软件包

使用以下命令更新CentOS Stream系统上的软件包:

dnf update

安装MySQL8需要更新系统上的软件包是因为MySQL8需要使用一些较新的依赖库和工具,而CentOS Stream默认的软件包版本可能较旧,无法满足MySQL8的要求。更新系统上的软件包可以确保系统中的依赖库和工具版本与MySQL8的要求相匹配,从而保证MySQL8的正常运行。

dnf和yum都是CentOS中的包管理器,它们的作用是安装、升级、删除软件包以及解决软件包依赖关系。它们的区别如下:

-  语法不同:dnf命令的语法更加简洁,而yum命令的语法相对较长。 
-  性能不同:dnf命令在处理软件包时的性能比yum命令更好,因为dnf使用了更高效的算法。 
-  依赖关系处理不同:dnf命令在处理软件包依赖关系时更加智能,能够自动选择最佳的依赖关系解决方案。 
-  使用的库不同:dnf命令使用了更加现代化的libdnf库,而yum命令使用了较老的yum库。 
-  可用插件不同:dnf命令支持更多的插件,可以实现更多的功能。 

总的来说,dnf命令是yum命令的升级版本,它在性能、依赖关系处理和可用插件等方面都更加优秀。

⑴. 添加MySQL Yum存储库

使用以下命令将MySQL Yum存储库添加到系统中:

dnf install https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm

MySQL Yum存储库怎么获取?如下图所示:从mysql官网获取







⑵.导入mysql公钥

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

⑶.安装MySQL 8

dnf install mysql-community-server

⑷.启动MySQL服务

systemctl start mysqld

⑸.设置MySQL开机自启

systemctl enable mysqld

⑹.查看root账户的临时密码

grep 'temporary password' /var/log/mysqld.log

⑺.配置MySQL安全设置

mysql_secure_installation

按照提示输入密码并回答问题,完成安全设置。

⑻. 登录MySQL

mysql -u root -p

完成以上步骤后,您就可以在CentOS Stream系统上安装并使用MySQL 8了。

2.MySQL8设置字符集

⑴.查看MySQL8字符集

在MySQL命令行界面中输入以下命令:

show variables like '%character%';

2.如果字符集不是utf8,可以在/etc/my.cnf文件中进行配置,在[mysqld]下面添加如下配置:/etc/my.cnf是mysql的配置文件。

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

保存并退出。

3. 重启MySQL服务

在终端中输入以下命令:

systemctl restart mysqld

4.再次查看MySQL8的字符集是否为utf8

3.在MySQL8中为Java程序员创建专属的MySQL用户

首先,以root用户身份登录MySQL:

mysql -u root -p

创建一个新的数据库,例如项目是oa项目,一般创建一个数据库叫做oa:

create database oa;

然后,创建一个新用户并设置密码:

CREATE USER 'java_dev'@'%' IDENTIFIED BY 'java_DEV123';

用户名:java_dev

密码:java_DEV123

 CREATE USER

  • 作用:创建一个新的数据库用户。
  • 注意:执行此命令需要管理员权限(如root用户)。

'java_dev'@'%'

  • 用户名java_dev(用于应用程序连接数据库的身份标识)。
  • 主机限制@'%' 中的 % 是通配符,表示该用户可以从任何 IP 地址或主机连接到数据库。
    • 若改为 'java_dev'@'localhost',则该用户只能从本地连接。
    • 若改为 'java_dev'@'192.168.1.%',则限制为特定网段的 IP 可连接。

IDENTIFIED BY 'java_DEV123'

  • 密码java_DEV123(区分大小写)。
  • 密码策略:需符合数据库的密码复杂度要求(如长度、字符类型等)。

接下来,为该用户授予开发者专有的权限:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, REFERENCES ON oa.* TO 'java_dev'@'%';

接下来,刷新权限:

FLUSH PRIVILEGES;

最后,关闭centos的防火墙:

systemctl stop firewalld

现在,Java程序员可以使用用户名和密码连接到MySQL并拥有开发者专有的权限。

五、 WEB应用的部署

在进行以下的web应用部署时,请确保以上的JDK17、Tomcat10、MySQL8已经安装成功。

1. 初始化数据库

   1. 这里使用navicat for mysql工具。

   2. 先在navicat for mysql工具中创建连接。

   3. 如果项目名叫做oa,那么创建一个数据库oa。

   4. 执行sql脚本文件(oa.sql)完成数据初始化。


2. 将项目中连接数据库的信息进行修改,例如:url、username、password等信息。

3.在IDEA当中,使用maven将项目以war的形式打包。

4.将war包上传到Tomcat的webapps目录下。

5.启动Tomcat服务器,war包自动解压。war解压之后的目录就是web应用。

6.打开浏览器,输入访问地址访问。

7.实时查看Tomcat服务器后台日志

切换到CATALINA_HOME/logs目录下,执行以下命令,可以实时查看tomcat服务器日志

tail -f catalina.out

六、将WEB应用部署到阿里云

1.购买阿里云服务器

注册阿里云账号

购买阿里云服务器

阿里云首页

新用户可以免费试用

使用xshell/xftp连接阿里云服务器

默认情况下阿里云服务器的“密码认证”是没有开启的。需要通过修改相关配置,来开启“密码认证”。
在阿里云服务器实例中找到如下图的VNC连接:

然后输入用户名root和密码。登录成功之后找到该文件:/etc/ssh/sshd_config
使用vim编辑sshd_config文件中的“passwordAuthcation”,将no修改为yes。
重启sshd服务:service sshd restart
此时采用xshell/xftp就可以使用密码的方式连接阿里云服务器了。

2.使用宝塔面板安装软件及部署项目

在centos操作系统上安装宝塔面板(这个安装脚本可以在宝塔面板官网获取):

yum install -y wget && wget -O install.sh 
https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

宝塔面板安装成功后,会有如下信息:

外网面板地址: https://39.105.26.215:10710/718e1e35
内网面板地址: https://172.25.179.225:10710/718e1e35
username: uck3itew
password: 3268d738

通过以上宝塔面板地址得知使用的端口是10710,所以需要在阿里云服务器上开放该端口(配置安全组):

访问宝塔面板:

输入用户名和密码登录宝塔面板:

注册宝塔账号并绑定:

宝塔Linux面板的左侧菜单中找:软件商店
搜索tomcat,安装tomcat9,会自动关联安装JDK8。

JDK8也有了:

注意:阿里云服务器有两个防火墙,一个是阿里云服务器自带的防火墙,在安全组中进行放行设置。

阿里云服务器中安装的centos操作系统也会有一个防火墙,要访问tomcat服务器的话,centos操作系统中的防火墙也要放行8080端口:这个需要在宝塔中进行配置,如下:

这样tomcat服务器就可以访问了:

mysql数据库的3306端口同样需要在宝塔中放行。这样mysql数据库才可以连接:

连接mysql数据库,报错信息如下:

root账户只能在阿里云电脑上使用

解决办法:
第一步:root身份登录mysql
第二步:use mysql;


第三步:update user set host='%' where user='root';
第四部:flush privileges;

初始化数据库:将提前准备好的oa.sql文件初始化到数据库当中。表emp表。确保表中有数据。



要修改一下,重新打包

将war包放到tomcat服务器的webapps目录下,启动tomcat服务器之后war包自动解压。

启动tomcat服务器,在浏览器上访问:

写程序用的版本与在阿里云服务器上的版本不一致

要么代码版本改小,要么用tomcat10


网站公告

今日签到

点亮在社区的每一天
去签到