admin管理员组文章数量:1651749
文章目录
- 1.Linux
- 1.1 概述
- 1.2 Linux命令
- 1.2.1 路径操作
- 1.2.2 目录操作
- 1.2.3 vi/vim:创建/查看/编辑文件操作
- 1.2.4 删除文件
- 2.部署JDK
- 2.1 上传JDK
- 2.2 解压压缩包
- 2.3 删除安装文件
- 2.4 修改JDK名称
- 2.5 检查JDK是否有效
- 2.6 JDK环境变量配置
- 2.7 补充知识
- 3.Linux 项目部署
- 3.1 项目搭建流程
- 3.2 Linux安装Mariadb数据库
- 3.2.1 下载MariaDB数据库
- 3.2.2 确认下载
- 3.2.3 安装完成提示
- 3.2.4 数据库启动
- 3.2.5 数据库初始化操作
- 3.2.6 测试数据库用户名和密码是否有效
- 3.2.7 Mysql数据库远程访问配置
- 3.2.7.1 关于链接数据库的说明
- 3.2.7.2 配置数据库权限配置说明
- 3.2.7.3 配置Linux数据库权限
- 4.配置Linux防火墙策略
- 4.1 检查防火墙状态
- 4.2 防火墙配置
- 4.3 手动关闭防火墙
- 4.4 手动开放防火墙端口(了解即可,不需要操作)
- 5.数据库远程测试
- 5.1 导入京淘数据库
- 5.2 后端项目发布
- 5.2.1 后端项目修改
- 5.2.2 后端项目打包
- 5.2.3 上传jar包文件
- 5.2.4 发布项目
- 5.2.5 项目测试
- 5.3 jar包文件项目启动报错说明
- 5.4 关于Linux 进程项说明
- 5.4.1 查询进程
- 5.4.2 杀死进程
- 5.5 项目前后台发布区别
- 6.安装Nginx服务器
- 6.1Nginx安装步骤
- 6.1.1下载地址
- 6.1.2 上传安装包
- 6.1.3 处理Nginx 压缩文件
- 6.1.4 关于nginx 目录说明
- 6.1.5 安装nginx服务器
- 6.1.6 Nginx工作目录及命令说明
- 6.2 上传前端静态资源
- 6.3 修改nginx配置文件
- 6.4 修改hosts文件
- 6.5 项目发布测试
- 6.5.1 后端测试
- 6.5.2 前端测试
- 6.5.3 图片测试
- 6.5.4 路径说明
- 6.5.5 易错项
- 6.5.6 日志查看
1.Linux
1.1 概述
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
2022年11月20日,Linux 提交了最后一批 drm-intel-next 功能补丁,Linux 6.2将迎来对英特尔锐炫独显的正式支持。
其相比于windows系统更加轻巧,更加安全,且系统稳定性更强。IOS系统是基于Linux系统的前身UNIX进行开发的,目前PC端的系统开发语言可分为汇编语言–>C语言–>UNIX–>Linux–>windows,ios等其他语言;
1.2 Linux命令
Linux命令全部是基于文件的,并且Linux中的目录都是树形结构,所以对于非专业人士来说,其复杂的操作方式是难以使Linux普及的原因之一;学习Linux最重要的就是熟练使用其各种命令,对于其常用的命令,菜鸟教程有详细的介绍,大家可以自行查阅:https://www.runoob/w3cnote/linux-common-command-2.html
,这里只介绍几个高频使用的命令:
1.2.1 路径操作
检查IP地址:ifconfig/ip addr
输出当前所在位置的目录:pwd
自动补齐(例如我们想要输入路径home,我们可以只输入h然后使用此键自动补齐后续的ome):tab键
cd命令集(最基本的命令语句,必须熟练掌握):
- cd /
:返回根目录
- cd ~
:用户主目录
- cd .
:当前目录
- cd ..
:返回到上一级目录
- cd /usr/
:进入usr目录
- cd -
:返回上一个目录
- cd
:直接回家
对于cd命令,我们这里还需要对其目录表示方法进行介绍,/xx/xx
被称为绝对路径,例如cd /a/b
是指先跳转到根目录下,然后跳转到根目录下的a目录,最后跳转到a目录下的b目录,而xx/xx
是相对路径,例如cd a/b
是指跳转到当前目录下的a目录,然后跳转到a目录下的b目录。
1.2.2 目录操作
- mkdir:创建目录
- mkdir a:创建a目录
- mkdir -p a/b:创建a目录,并在a目录下创建b目录
- mkdir -m 777 c:创建一个权限为777的c目录
- rmdir:删除目录(如果目录里有文件,则不能用此命令)
- mkdir --help:帮助,可以在这里查看更多命令
1.2.3 vi/vim:创建/查看/编辑文件操作
vi与vim命令本质都是一样的,可以将vim命令理解为增强版的vi命令,其完全兼容vi命令,并且拥有比vi命令更加通用的支持与功能:
- ESC:退出编辑模式,回复到命令行模式
- i:在光标开始前编辑
- a:在光标后开始编辑
- o:在当前行的下一行开始编辑
- u:撤销之前的操作(需要先点击esc退出编辑模式后使用)
- 底行操作:按住shift+冒号(:)
- :q!:不保存退出
- :wq!:保存退出
1.2.4 删除文件
- rm:删除文件
- rm n.txt:删除n.txt文件,提示y删除,n放弃
- rm -f n.txt:删除n.txt文件,不提示
- rm -rf dirname:不提示递归删除目录下的所有内容
- rm -rf * 删除所有文件
- rm -rf /* 删除所有子目录和所有文件(传说中的删库跑路)
2.部署JDK
我们首先需要使用mobaxterm远程链接工具在Linux服务器上部署JDK,方便后续对jar包进行编译运行;
2.1 上传JDK
我们首先使用 cd /usr/local/src/
进入当前目录下:
然后将码云文件目录下的jdk包下载后拖入到当前目录下:
2.2 解压压缩包
在控制区输入下方的命令解压压缩包:tar -xvf jdk-8u51-linux-x64.tar.gz
2.3 删除安装文件
解压完成后,使用命令 rm -f jdk-8u51-linux-x64.tar.gz
删除压缩包:
2.4 修改JDK名称
使用命令mv jdk1.8.0_51 jdk1.8
修改jdk的名字:
2.5 检查JDK是否有效
通过下图中的命令,检查jdk是否有效:
2.6 JDK环境变量配置
打开配置文件命令:
vim /etc/profile
配置信息:设定jdk环境
export JAVA_HOME=/usr/local/src/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
修改完成后输入:wq!
保存并退出,使用:q!
不保存强制退出。
2.7 补充知识
- 浏览器自动将http转化为https问题
2. 设定安全策略
在谷歌浏览器地址栏输入:chrome://net-internals/#events
进行修改,修改完成之后,需要将 浏览器清空缓存,之后重启浏览器,清除缓存的快捷进入方式为:ctrl + shift + delete
3.Linux 项目部署
3.1 项目搭建流程
- 安装Linux版本数据库
- 设置数据库权限
- 数据库通过Linux防火墙
- 安装Linux版本Nginx
- 配置Nginx服务
- 因为未购买域名,所以修改本地hosts文件实现本地访问
3.2 Linux安装Mariadb数据库
3.2.1 下载MariaDB数据库
测试: 当前虚拟机是否可以正确的链接外网.
命令:
yum install mariadb-server #安装mariadb数据库
yum clean all #清空已安装文件 如果下载失败之后执行
3.2.2 确认下载
下载完成后需要确认下载才会执行后续操作
3.2.3 安装完成提示
3.2.4 数据库启动
命令:
1. 启动命令 [root@localhost src]# systemctl start mariadb
2. 重启命令 [root@localhost src]# systemctl restart mariadb
3. 关闭命令 [root@localhost src]# systemctl stop mariadb
4. 设定开机自起 [root@localhost src]# systemctl enable mariadb
5. 关闭开机自起 [root@localhost src]# systemctl disable mariadb
3.2.5 数据库初始化操作
使用启动命令启动数据库后,使用命令: mysql_secure_installation
进行数据库初始化操作,:
注意要以我们服务器的设置保持一致:
3.2.6 测试数据库用户名和密码是否有效
3.2.7 Mysql数据库远程访问配置
3.2.7.1 关于链接数据库的说明
说明:
- 如果需要远程链接数据库必须通过防火墙
- 如果远程链接数据库,数据库中必须开启远程访问权限才行,否则拒绝链接.
3.2.7.2 配置数据库权限配置说明
这里我们不需要使用windows的数据库连接查看,只是为了展示数据库内容,方便大家了解后续需要使用的数据库内容:
3.2.7.3 配置Linux数据库权限
-
查询当前所有数据库
-
切换Mysql数据库
-
检查数据表
-
查询user表中的host/root/password
-
将host=“localhost” 改为 “%”
-
刷新数据库权限
4.配置Linux防火墙策略
4.1 检查防火墙状态
命令:firewall-cmd --state
注意此命令是Linux命令,需要使用ctrl+c退出数据库后操作,runing表示其是运行状态:
4.2 防火墙配置
说明:防火墙中有一个配置文件,表示当Linux系统启动时防火墙应该如何操作!!!我们这里需要告诉linux系统以后开机不需要启动防火墙,使用命令systemctl disable firewalld.service
禁用防火墙,禁用后表示后续开启虚拟机将不开启防火墙,但是目前的防火墙还在,所以我们还需要使用systemctl enable firewalld.service
命令关闭防火墙:
4.3 手动关闭防火墙
说明:通过命令手动将防火墙关闭
命令:
systemctl stop firewalld.service
systemctl start firewalld.service
4.4 手动开放防火墙端口(了解即可,不需要操作)
-
使用命令
firewall-cmd --list-ports
检查防火墙开放的端口 -
使用命令
firewall-cmd --query-port 80/tcp
检查端口是否开放
-
使用命令
firewall-cmd --zone=public --add-port=80/tcp --permanent
开启防火墙
-
使用命令
firewall-cmd --zone=public --remove-port=9090/tcp --permanent
移除端口
-
关于防火墙操作的解释
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–remove-port=80/tcp #移除端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
- 使用命令
firewall-cmd --reload
重启防火墙
5.数据库远程测试
点击新建–>取名后输入对应的地址及密码,测试连接,测试连接成功后点击连接即可:
5.1 导入京淘数据库
-
我们登录此前的本地数据库,将jt.sql备份:
-
选择导出的位置
-
然后登录Linux数据库,点击导入刚才我们备份的数据库:
-
导入数据之后执行刷新即可.
方式2:
如果mysql数据库需要导入数据表命令如下:
命令: source /xxx/xxxx/xxxx/jt.sql;
5.2 后端项目发布
5.2.1 后端项目修改
- 确认数据库的用户名和密码是否是刚才设置的linux数据的用户名密码:
- 修改数据库的用户名和密码
5.2.2 后端项目打包
需要对application.yml文件分别设置8091与8092后分别打包,共计打俩个jar包文件,每个jar包打包完成后需要将jar包文件保存到其他位置再打下一个包,不然会覆盖之前的文件:
5.2.3 上传jar包文件
然后我们在mobaxterm中新建tomcats目录,将jar包上传到当前目录下:
5.2.4 发布项目
使用命令java -jar 8091.jar
将项目启动:
5.2.5 项目测试
最后在浏览器中输入地址http://192.168.126.129:8091/rights/getRightsList
查看后台数据是否可以正常访问:
5.3 jar包文件项目启动报错说明
main方法的检查, 查看是否为主启动类的方法
5.4 关于Linux 进程项说明
当服务启动时,如果我们不小心关闭了窗口并不会结束进程,此时进程还是启动状态,此时我们想要再次启动此进程就会报端口占用错误,此时我们需要使用命令行进行进程的相关操作。
5.4.1 查询进程
- jps:检索java服务项
- 检索任意服务
- 检索java服务:
ps -ef | grep java
- 检索mysql服务:
ps -ef | grep mysql
- 检索java服务:
5.4.2 杀死进程
关闭当前线程: ctrl + c,此操作只有在当前进程运行界面的时候才可以操作;
杀死进程:
- kill PID号 普通的杀死
- kill -15 PID号 较为强硬的杀死
- kill -9 PID号 强制杀死
5.5 项目前后台发布区别
前台发布:通过java -jar xxx.jar
的方式启动项目 该项目与启动的终端绑定在一起. 如果终端关闭.则项目也会关闭.
后台发布:通过命令nohup java -jar xxx.jar => xxx.log
的方式启动项目,关闭终端之后, 服务不会受到影响,需要注意的是,我们可以通过&
符号进行连续操作,同时启动多台服务:
nohup java -jar jt-8091.jar => jt-8091.log &
nohup java -jar jt-8092.jar => jt-8092.log &
&
符号表示其要进行连续操作,每次命令结束后,会继续等待下次命令输入继续执行。
6.安装Nginx服务器
6.1Nginx安装步骤
6.1.1下载地址
http://nginx.org/en/download.html
6.1.2 上传安装包
上传到指定目录中 /usr/local/src
6.1.3 处理Nginx 压缩文件
-
使用命令
tar -xvf nginx-1.23.4.tar.gz
解压nainx文件:
-
使用命令
rm -f nginx-1.23.4.tar.gz
删除安装文件 -
使用命令
mv nginx-1.23.4 nginx-source
修改文件名称
6.1.4 关于nginx 目录说明
改完名称之后的结果:
6.1.5 安装nginx服务器
说明:在nginx-source的根目录中执行如下命令
- 需要提前安装nginx的依赖项
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
- 一般绿色的文件名表明其就是可执行脚本,我们使用
./configure
命令来执行配置脚本:
- 直接输入
make
命令执行编译
- 执行
make install
命令
问题补充: 如果 ./configure 报错没有权限,则执行命令chmod + x configure
6.1.6 Nginx工作目录及命令说明
- 使用命令
whereis nginx
查找工作目录 - 跳转到Nginx工作目录
-
nginx命令执行需要进入nginx/sbin目录中:
- 启动命令:
./nginx
- 重启命令:
./nginx -s reload
- 关闭命令:
./nginx -s stop
- 启动命令:
-
可以在浏览器中输入ip地址+80访问nginx测试是否正常:
6.2 上传前端静态资源
说明: 将前端的web资源上传到nginx的根目录下.
-
前端文件位置
-
上传目录位置
6.3 修改nginx配置文件
需求说明:
- 实现图片反向代理
- 前端业务代理
- 后端tomcat集群代理
#配置图片代理 image.jt
server {
listen 80;
server_name image.jt;
location / {
root /usr/local/src/images;
}
}
#配置前端代理 www.jt
server {
listen 80;
server_name www.jt;
location / {
root dist;
index index.html;
}
}
#配置后台服务器集群
upstream tomcats{
server 192.168.126.129:8091;
server 192.168.126.129:8092;
}
#配置后端代理 manage.jt
server {
listen 80;
server_name manage.jt;
location / {
proxy_pass http://tomcats;
}
}
因为在mobaxterm中编辑比较麻烦,所以我们可以将文件下载到windows本地编辑成功之后,再将nginx.conf文件上传到Linux系统中(删除原有文件),上传新文件之后要重启nginx服务:
6.4 修改hosts文件
# IP 与 域名映射
# 127.0.0.1 localhost
# ::1 localhost
#图片服务器配置
#127.0.0.1 image.jt.com
192.168.126.129 image.jt.com
#前端服务器配置
#127.0.0.1 www.jt.com
192.168.126.129 www.jt.com
#后端服务器配置
#127.0.0.1 manage.jt.com
192.168.126.129 manage.jt.com
6.5 项目发布测试
6.5.1 后端测试
测试地址: http://manage.jt/rights/findAll
6.5.2 前端测试
测试地址: http://www.jt
6.5.3 图片测试
1.实现图片的上传
2.检查上传路径
3.检查图片回显
6.5.4 路径说明
- 静态资源文件 dist /usr/local/nginx/dist
- nginx.conf /usr/local/nginx/config/nginx.conf
- nginx启动项目路径 /usr/local/nginx/sbin/
- tomcats发布路径 /usr/local/src/tomcats
6.5.5 易错项
- 查询表失败 可能是表字母大小写问题
- 数据库链接地址: root/root 3306端口
- image.properties 配置文件中 不要有多余的空格.
- nginx配置信息:
#配置图片代理
server {
listen 80;
server_name image.jt.com;
location / {
root /usr/local/src/images;
}
}
#2.配置tomcat服务器集群
#2.1 本地IP访问 127.0.0.1:8091
#2.2 远程访问 192.168.126.129:8091
upstream tomcats {
server 192.168.126.129:8091;
server 192.168.126.129:8092;
}
#实现后端服务器代理
server {
listen 80;
server_name manage.jt.com;
location / {
proxy_pass http://tomcats;
}
}
#前端服务器代理
server {
listen 80;
server_name www.jt.com;
location / {
root dist;
index index.html;
}
}
6.5.6 日志查看
cat 输出文件所有的内容
more 输出文档所有的内容,分页输出,空格浏览下一屏,q退出
less 用法和more相同,只是通过PgUp、PgOn键来控制
tail 用于显示文件后几号,使用频繁
tail -10 nginx.conf 查看nginx.conf的最后10行
tail –f nginx.conf 动态查看日志,方便查看日志新增的信息
ctrl+c 结束查看
版权声明:本文标题:2.11 Linux项目发布 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729566581a1206583.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论