12.部署项目1-本地软件安装命令rpm【理解】
目标
利用rpm可以直接安装rpm文件(rpm文件是本地可执行安装文件)
RPM介绍
RedHat Package Manager(RPM), 擅长安装本地的软件和没有依赖其他软件包的软件
rpm的作用
查询已安装的软件
安装软件
卸载软件
rpm的语法
常用命令
rpm -qa #查询所有已安装软件
rpm -ivh 软件包 #安装指定的软件包
rpm -e --nodeps 软件包 #强制卸载指定软件包
小结
-
rpm的常用作用有哪些?
查询已安装的软件
进行安装软件
卸载已安装的软件
13.部署项目2-jdk安装【应用】
疑问
-
linux上运行java代码是否需要安装jdk?
必须安装。
实现步骤
-
将jdk软件上传到linux系统/soft目录下
-
将jdk压缩文件解压到/usr/local
tar -xvf jdk-9.0.4_linux-x64_bin.tar.gz -C /usr/local
-
配置linux的jdk环境变量,操作一个/etc/profile环境变量配置文件
编辑配置文件配置环境变量
vim /etc/profile
在文件里面的末位添加如下配置
#set java environment JAVA_HOME=/usr/local/jdk1.8.0_162 CLASSPATH=.:$JAVA_HOME/lib PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH
-
重载环境变量配置文件
source /etc/profile
查看jdk环境变量是否配置成功,如下信息说明成功
小结
-
环境变量的配置文件叫什么?
/etc/profile
-
修改过linux的环境变量文件需要注意什么?
重新加载命令:source /etc/profile
14.部署项目3-mysql安装-启动-远程授权【应用】
疑问
-
部署项目代码运行是否需要安装mysql数据库?那以后mysql数据库是安装到windows还是linux上?
必须安装
安装实现步骤
-
查看CentOS是否自带的MySQL,如果已经安装需要卸载。如果没有找到,则表示没有安装
-
在线获取CentOS7的mysql的rpm安装文件,直接执行如下命令:
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
-
执行安装命令
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
-
得到两个配置文件,进入/etc/yum.repos.d目录下查询
cd /etc/yum.repos.d
-
编辑mysql-community.repo文件,配置资源库下载版本选择
vim mysql-community.repo
-
下载安装客户端、服务器端、工具包
在线下载安装命令介绍:yum(全称为 Yellow dog Updater, Modified)作用:用于自动从服务器上下载相应的软件包,自动安装,并且自动下载它的依赖包。
rpm,不仅可以安装本地软件,也可以在线下载安装,rpm只能安装指定的一个软件,然而linux的软件都依赖很多其他软件,rpm不会安装依赖软件,导致在线安装软件非常麻烦
yum,不仅可以在线安装指定的一个软件并且会将依赖的所有软件都进行安装,非常方便
yum -y install mysql-community-client mysql-community-server mysql-community-devel
安装后的效果
mysql服务启动
-
启动mysql服务
systemctl start mysqld
-
将mysql加到系统服务中并设置开机启动
systemctl enable mysqld
-
登录mysql,root用户默认没有密码
mysql -uroot
-
在mysql中修改自己的密码
set password = password('密码');
设置远程连接权限、开发端口号
-
开启mysql的远程登录权限,默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启,并且刷新权限缓存。远程登录mysql的权限登录mysql后输入如下命令
grant all privileges on *.* to 'root'@'%' identified by 'root'; flush privileges;
-
开放Linux的对外访问的端口3306
#开放的端口永久保存到防火墙 firewall-cmd --zone=public --add-port=3306/tcp --permanent #重启防火墙 systemctl restart firewalld
windows主机mysql客户端就可以连接了,效果如下
小结
-
yum命令的作用是什么?
在线下载软件包,并且自动安装,并且自动下载安装依赖的相关软件包
rpm是本地安装
-
linux如何让远程访问mysql数据库服务器?
1.在mysql里面授权远程访问
2、linux防火墙放行3306端口
15.部署项目4-linux版本redis1-安装【应用】
目标
在linux系统上安装redis
实现步骤
-
上传软件
-
安装软件
-
解压redis压缩文件到/usr/local下面
-
从官方下载linux版本redis是c语言源代码,需要下载编译器进行编译之后在安装,下载39M
yum -y install gcc-c++
-
编译redis源码并安装
进入/usr/local/redis-3.2.11目录,执行make命令,用于编译c语言源代码
make
执行安装,必须在redis-3.2.11目录里面
make PREFIX=/usr/local/redis install
安装好的目录结构
-
小结
-
在linux版本的redis是使用什么语言开发?需要下载安装什么才能编译?
使用c语言开发的,下载gcc-c++编译器来编译c语言。
16.部署项目5-linux版本redis2-启动与停止【应用】
目标
在linux系统上操作redis的启动与停止
启动
-
前端模式启动
命令:./redis-server
特点:霸占整个终端,导致无法运行其他命令
-
后端启动(推荐后端启动)
特点:后台运行,不影响运行其他命令
实现步骤:
-
执行Ctrl+C结束redis的服务器的运行
-
将源代码目录中/usr/local/redis-3.2.11/redis.conf复制到当前安装bin目录下
cp /usr/local/redis-3.2.11/redis.conf ./
-
修改redis.conf配置文件内容,让其支持后端启动(修改redis.conf文件)
daemonize no
修改后
daemonize yes
以后启动服务器端必须指明redis.conf进行启动
./redis-server redis.conf
-
启动客户端
-
停止
-
杀死进程方式
kill -9 进程号
特点:强制杀死进程,容易导致redis如果正在持久化就可能会失败数据丢失
-
客户端发送关闭命令(推荐)
./redis-cli shutdown
特点:如果正在持久化先会等持久化完成后再关闭服务器
17.部署项目6-linux版本redis3-客户端远程连接
-
测试客户端是否可以远程连接到linux的redis
-
无法连接,分析原因
开放端口6379
#临时立刻开放6379端口,重启防火墙或重启电脑就失效 /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT #开放的端口永久保存到防火墙,重启防火墙或重启电脑才会永久生效 firewall-cmd --zone=public --add-port=6379/tcp --permanent
redis在3.2.x版本以后进行了安全升级,默认只允许本地访问,不允许远程访问,这个安全设置在redis.conf中有配置,默认只允许本地127.0.0.1访问
bind 127.0.0.1
-
解决实现步骤
修改配置文件redis.conf,增加允许远程看可以连接这个ip访问redis,指定的ip是当前linux系统的ip(redis服务器的ip)
bind 127.0.0.1 192.168.56.117
重启redis服务器
18.部署项目7-tomcat安装【应用】
实现步骤
-
将软件上传到linux系统/soft目录下
-
解压压缩包到/usr/local目录下
tar -xvf apache-tomcat-8.5.27.tar.gz -C /usr/local/
-
进入bin目录,启动tomcat服务器
./startup.sh
-
开发linux系统防火墙8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent systemctl restart firewalld
-
windows客户端使用浏览器访问linux的8080端口tomcat
-
进入bin目录下,关闭服务器。关闭服务器以后,浏览器不能再访问
小结
-
linux版本的tomcat的启动与关闭命令?
startup.sh
shutdown.sh
19.部署项目8-项目发布【应用】
目标
将javaweb项目部署到linux里面的tomcat上运行
实现步骤
-
在linux上的mysql准备数据库数据
-
部署方式1:直接拷贝部署目录资源到服务器webapps目录下
复制项目拖拽到linux系统tomcat/webapps目录下
打开浏览器访问:
-
部署方式2(专业):将windows的javaweb项目导出war包再部署到linux系统tomcat/webapps目录下
将war包的文件名字修改为contactSys.war
-
将war包部署到linux里面的tomcat里面的webapps里面
-
浏览器访问
解决mysql底层乱码问题
- 修改jdbc.properties配置文件,设置mysql使用utf-8解码,添加“?characterEncoding=utf8”
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/itheima117?characterEncoding=utf8
username=root
password=root
poolMaximumActiveConnections=10
-
将当前项目需要重新打包,再部署到linux上tomcat的webapps里面
-
关闭tomcat,执行shutdown.sh
-
启动tomcat,执行startup.sh
小结
-
javaweb项目部署到linux会打包,打成什么格式的包?部署到哪里?
war,部署到linux上的tomcat/webapps目录下
20.用户管理1-用户的管理【应用】
添加用户
设置密码
删除用户
修改登录名
小结
21.用户管理2-组与用户的管理【应用】
添加组
用户添加指定组
用户从指定组中删除
修改组名
删除组
小结
21.用户管理3-给普通用户设置 sudo超级管理权限【应用】
22.总结
mumActiveConnections=10
2) 将当前项目需要重新打包,再部署到linux上tomcat的webapps里面
3) 关闭tomcat,执行shutdown.sh
4) 启动tomcat,执行startup.sh
##### 小结
* javaweb项目部署到linux会打包,打成什么格式的包?部署到哪里?
war,部署到linux上的tomcat/webapps目录下